DartのMapに対して、条件を満たす要素だけに絞り込みたい場合があります。
こういった、フィルター処理をマップでする方法を紹介します。
方法

マップにフィルター処理をするには、「removeWhereメソッド」を使用します。
func removeWhere( (key , value) => 条件式)
「removeWhere」は、条件式が「true」になる要素を削除するメソッドです。
以下は、removeWhereメソッドの使用例です。
var number = <String, int>{
"one":1,
"two":2,
"three":3
};
//値が2より大きいものを削除
number.removeWhere((key, value) => value > 2);
print(number); //{"one" : 1, "two" : 2}
Mapから取り出した要素は、「キー」、「値」の順番で、引数に格納されます。
そして、「=>」の後に、絞り込むための条件式を記述します。
この条件式が、「true」の要素は削除されます。
また、「removeWhere」は、「キー」に対しても、フィルター処理をすることが出来ます。

まとめ
Mapにフィルター処理をするには、「removeWhereメソッド」を使用します。

参考
How can I filter a map / access the entries
コメント