findFirst, findAll (Werte in Listen suchen)
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!
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. 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:
[ { "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. |