1. .mapメソッドの基本
.mapメソッドは、リスト内の各要素に対して指定された関数を適用し、その結果を新しいリストとして返します。以下は、基本的な構文です。
List<T> newList = originalList.map((element) => /* 適用する関数 */).toList();
これにより、リスト内の各要素が新しいリストに変換されます。例えば、以下は数値のリストを2倍にする例です。
List<int> numbers = [1, 2, 3, 4, 5];
List<int> doubledNumbers = numbers.map((number) => number * 2).toList();
print(doubledNumbers); // [2, 4, 6, 8, 10]
2. .mapメソッドのチェイン
.mapメソッドはチェイン可能であり、複数の変換を連結して使用することができます。これにより、コードをより洗練させ、効率的にリストを操作できます。
List<int> numbers = [1, 2, 3, 4, 5];
List<int> modifiedNumbers = numbers
.map((number) => number * 2)
.map((number) => number - 1)
.toList();
print(modifiedNumbers); // [1, 3, 5, 7, 9]
3. .mapメソッドとオブジェクト
.mapメソッドは、単なる数値だけでなく、任意のオブジェクトに対しても使えます。例えば、オブジェクトのリストを別のオブジェクトのリストに変換することができます。
class Person {
String name;
int age;
Person(this.name, this.age);
}
List<Person> people = [
Person('Alice', 25),
Person('Bob', 30),
Person('Charlie', 22),
];
List<String> names = people.map((person) => person.name).toList();
print(names); // ['Alice', 'Bob', 'Charlie']
4. .mapメソッドと条件付き変換
.mapメソッドは条件に基づいて変換を行うこともできます。例えば、特定の条件を満たす要素だけを変換することができます。
List<int> numbers = [1, 2, 3, 4, 5];
List<int> evenNumbers = numbers.map((number) => (number % 2 == 0) ? number * 2 : number).toList();
print(evenNumbers); // [1, 4, 3, 8, 5]
まとめ
Flutterの.mapメソッドは、リストの効果的な変換と処理を可能にします。
基本的な使用法からチェイン可能な応用まで、このメソッドを活用することで、コードの可読性を向上させ、よりスマートなアプリケーションを構築することができます。是非、プロジェクトにおいて積極的に活用してみてください。