Reduktion auf Index

Syntax

	$list.indexReduce($index-fun, $unit, $reduce-fun)

Beschreibung

Erstellt ein Wörterbuch aus den Einträgen einer Liste. Die Schlüsselwerte werden über die Indizierungsfunktion aus Listenelementen berechnet. Ein Wert des resultierenden Wörterbuchs besteht aus der Reduktion aller Listenelemente, für die derselbe Schlüsselwert ausgerechnet wurde. Der erste Reduktionsschritt wird mit dem übergebenen neutralen Element und dem ersten Listenelement eines Schlüssels durchgeführt.

Wenn für die Listenelemente e1, e5 und e7 der selbe Schlüsselwert k ausgerechnet wurde, dann wird im resultierenden Wörterbuch unter dem Schlüssel k der Wert $reduceFun($reduceFun($reduceFun($unit, e1), e5), e7) gespeichert.

Parameter

Name Typ Beschreibung Pflicht Default
list Menge Eine Liste, aus der ein Wörterbuch generiert werden soll. ja
index-fun Funktion Funktion, die ein Listenelement einen Schlüsselwert zuordnet. ja
unit Zahl/Zeichenkette Neutrales Element der reduce-fun. ja
reduce-fun Funktion Funktion, die mehrere Listenwerte mit demselben Schlüsselwert auf ein Element reduziert. ja

Rückgabewert

Typ: Fachobjekt

Ein Wörterbuch mit allen Listenelementen, die gemäß der index-fun und reduce-fun Funktionen Schlüsselwerten zugeordnet wurden.

Beispiele

Anzahl von gleichen Listenelementen

	{
   list = list("Martin", "Tom", "Eric", "Martin", "Eric", "Lars", "Steven", "Steven", "Eric");
   indexfun = string -> $string;
   reducefun = subtotal -> listElem -> $subtotal + 1;
   $list.indexReduce($indexfun, 0, $reducefun);
}

Ausgabe: Wöterbuch mit folgenden Werten:

{
  Martin=2.0, 
  Tom=1.0, 
  Eric=3.0, 
  Lars=1.0, 
  Steven=2.0
}