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