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

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.

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