【Flutter】.reduceの使い方

Flutter

.reduceメソッドとは?

.reduceメソッドは、リスト内の要素を一つの値にまとめる際に利用されます。
指定された関数を使用してリスト内の要素を順番に処理し、最終的な結果を返します。

T reduce<T>(T combine(T previousValue, T element));

基本的な使い方

まずは、簡単な例から始めてみましょう。以下は、数値のリストを使って.reduceメソッドを使用し、合計を求める例です。

List<int> numbers = [1, 2, 3, 4, 5];
int sum = numbers.reduce((value, element) => value + element);
print(sum); // 15

このコードでは、各要素を順番に取り出し、前回の結果(value)と現在の要素(element)を加算しています。最終的には、リスト内の数値が合計され、sumに結果が格納されます。

応用例: 文字列の結合

.reduceメソッドは数値だけでなく、文字列などの異なる型の要素を結合するのにも役立ちます。以下は、文字列のリストを結合する例です。

List<String> words = ['Hello', ' ', 'World', '!'];
String sentence = words.reduce((value, element) => value + element);
print(sentence); // Hello World!

この例では、各文字列を順番に結合していき、最終的には”Hello World!”という文が得られます。

注意点

.reduceメソッドを使用する際には、要素の型や結合・集約の方法に注意が必要です。
また、リストが空である場合には初期値を指定することが推奨されます。初期値がない場合、空のリストに.reduceメソッドを適用するとエラーが発生します。

List<int> emptyList = [];
int result = emptyList.reduce((value, element) => value + element); // エラー
タイトルとURLをコピーしました