findFirst, findAll (Werte in Listen suchen)

Prev Next

Ermöglicht das Suchen eines oder mehrerer Werte in einer Liste oder Datenprovider.
 HINWEIS  Handelt es sich bei der Quelle um einen Datenprovider, so können nur die bereits geladenen Einträge durchsucht werden. Es werden keine Server seitigen Suchen ausgeführt!

Tooltip

Syntax:
$findFirst(source,boolExpression)
$findAll(source,boolExpression)

Parameter

Beschreibung

source

Die Liste oder der Datenprovider der durchsucht werden soll

boolExpression

Ein Ausdruck, welcher für jeden Eintrag in source gerufen wird. Das Eingabeobjekt ($input) ist dabei der jeweilige Eintrag.
Der Ausdruck muss einen bool'schen Wert zurückliefern, welcher darüber entscheidet, ob der Eintrag in das Suchergebnis passt (true) oder nicht (false)

Im Falle von $findFirst wird der Eintrag zurückgeliefert, der als erster der Sucheinschränkung entsprach.
Im Falle von $findAll wird eine Liste mit allen Einträgen zurückgeliefert, welche der Sucheinschränkung entsprochen haben.

Beispiel: $findFirst($input,$cmp({key},=,5)) - Liefert den ersten Eintrag dessen Feld "key" den Wert 5 besitzt

Siehe auch contains (prüfen ob Wert in Liste enthalten ist)

Syntax

$findFirst(source,boolExpression)

$findAll(source,boolExpression)

Parameter

Name

Beschreibung

source

Die Liste oder der Datenprovider der durchsucht werden soll

boolExpression

Ein Ausdruck, welcher für jeden Eintrag in source gerufen wird. Das Eingabeobjekt ($input) ist dabei der jeweilige Eintrag.
Der Ausdruck muss einen bool'schen Wert zurückliefern, welcher darüber entscheidet, ob der Eintrag in das Suchergebnis passt (true) oder nicht (false).

Tipp: Die Variable "orgInput" (zugreifbar über $var(orgInput)) enthält das originale Eingabeobjekt auf Ebene der $findXXX Funktion.

Rückgabewert

Im Falle von $findFirst wird der Eintrag zurückgeliefert, der als erster der Sucheinschränkung entsprach.
Im Falle von $findAll wird eine Liste mit allen Einträgen zurückgeliefert, welche der Sucheinschränkung entsprochen haben.

Beispiele:

Für die Beispiele wird angenommen, dass es sich bei $input um eine Liste mit Tupeln folgenden Formats handelt:

JSON

[
	{
		"key": "1",
		"label": "Item 1",
		"value": 220
	},
	{
		"key": "2",
		"label": "Item 2",
		"value": 95
	},
	{
		"key": "3",
		"label": "Item 3",
		"value": 100
	},
	{
		"key": "4",
		"label": "Item 4",
		"value": 10
	},
	{
		"key": "5",
		"label": "Item 5",
		"value": 5
	}
]

Ausdruck

Ergebnis

Wirkung

$findFirst($input,$cmp({key},=,4))

Eintrag "Item 4"

Liefert den Eintrag dessen Feld "key" den Wert "4" hat

$findAll($input,$cmp({value},>=,100,n))

Liste mit "Item1" und "Item 3"

Liefert alle Einträge der Liste, deren Feld "value" einen Wert größer oder gleich 100 hat

$findFirst($el(8,true),$cmp({value},=,$var(orgInput)))

Der Eintrag, dessen value Feld dem originalen Eingabewert entspricht

$el(8,true) liefert sämtliche Werte aller Wiederholungen des Elements mit ID 8.
$var(orgInput) liefert den originalen Eingabewert auf Ebene der $findFirst Funktion.