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. |