どうも、ちょげ(@chogetarou)です。
リストをマップに変換する方法を紹介します。
方法

リストをマップに変換する方法は、2つあります。
fromIterable
1つは、MapのfromIterableを使う方法です。
まず、MapからfromIterableを呼び出します。
次に、fromIterableの第1引数で変換対象のリストを指定します。
また、第2引数「key」に変換後のマップのキー、第3引数「value」に変換後の値をコールバック関数で返します。
最後に、fromIterableの結果を、変数に代入します。
var map = Map.fromIterable(
list, key: (v) => key, value: (v) => value
);
使用例
void main() {
var numbers = [1, 2, 3, 4, 5];
var map = Map.fromIterable(
numbers, key: (v) => v.toString(), value: (v) => v
);
print(map); //{1: 1, 2: 2, 3: 3, 4: 4, 5: 5}
}
for-in
もう1つは、for-inループを使う方法です。
まず、変数に「{}」を代入します。
そして、「{}」内でリストをfor-inループします。
for-inループで、キーと値のセットを指定します。
var map = { for (var v in numbers) key : value };
使用例
void main() {
var numbers = [1, 2, 3, 4, 5];
var map = { for (var v in numbers) v.toString() : v};
print(map); //{1: 1, 2: 2, 3: 3, 4: 4, 5: 5}
}
まとめ
リストをマップに変換する方法は、次の2つです。
- fromIterableを使う方法
- for-inループを使う方法
コメント