Skip to content
Kezdőlap » where() metódus

where() metódus

  • Dart

A where a Dart egyik beépített metódusa, és arra való, hogy megszűrje azt a listát, amin meghívtuk. A map()-hez hasonlóan nem változtatja meg az eredeti listát, hanem egy újjal tér vissza.

A VSCode mutatja a pontos infót, hogy mit kapunk:

Type: Iterable<Map<String, Object>> Function(bool Function(Map<String, Object>))

dart:core

Creates a new lazy [Iterable] with all elements that satisfy the predicate [test].

Ebből is látszik, hogy valójában nem egy listát, hanem egy Iterable típusú adatot kapunk.

Használat

A where metódusnak át kell adni egy függvényt, mint paramétert, ami a lista minden elemén végig fog szaladni.

final szamok = <int>[1, 2, 3, 4, 5];
final otnelKisebbek = szamok.where(() {});

A where-nek átadott függvény bemeneti paramétere a soron következő elem. Ennek neve bármi lehet, nincs megkötés. Például x:

final otnelKisebbek = szamok.where((x) {});

A map()-el ellentétben a függvény törzsében nem térünk vissza valamilyen átalakított értékkel, hanem vagy true vagy false értékkel. True értékkel tér vissza abban az esetben, ha az adott elem benne van a listában. False pedig annak a jele, hogy nincs.

Ahhoz, hogy tudjuk melyiket adja vissza a where, nyilván kell valamiféle vizsgálat.

final otnelKisebbek = szamok.where((x) {
   return x < 5;
});

Nyíl függvénnyel:

final otnelKisebbek = szamok.where((x) => x < 5);

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük