array.reduce( callback )メソッド

array.reduce( callback )メソッドは、引数「callback」に指定した累積処理用のコールバック関数を使い、配列要素を左から右へ順に累積した結果を返すメソッド。

構文

array.reduce( callback )

引数

callback
累積処理に使うコールバック関数を指定する。

戻り値

配列要素を左から右へ順に累積した累積結果。

コールバック関数の構文

function callback( previousValue, currentValue, currentIndex, array ) {
    // 累積処理。
}

引数

previousValue
一つ前の処理までの累積結果。
currentValue
現在処理中の配列要素。
currentIndex
現在処理中の配列要素のインデックス。
array
要素を格納している配列オブジェクト。

サンプル

配列の内容を合計

<script type="text/javascript">
function sumElements( $previousValue, $currentValue ) {
    return $previousValue + $currentValue;
}
var $sampleArray = new Array( 1, 2, 3, 4, 5 );
var $sum = $sampleArray.reduce( sumElements );
document.write( $sum );
</script>

↓↓↓出力結果↓↓↓

二次元配列を一次元配列にする

<script type="text/javascript">
function sampleFunc( $previousValue, $currentValue ) {
    return $previousValue.concat( $currentValue );
}
var $sampleArrayA = [
    [ "要素1-1", "要素1-2", "要素1-3" ],
    [ "要素2-1", "要素2-2", "要素2-3" ],
    [ "要素3-1", "要素3-2", "要素3-3" ]
];
var $sampleArrayB = $sampleArrayA.reduce( sampleFunc );
for ( var $counterVar = 0; $counterVar < $sampleArrayB.length; $counterVar++ ) {
    document.write( $sampleArrayB[$counterVar] );
    document.write( '<br />' );
}
</script>

↓↓↓出力結果↓↓↓

スポンサード リンク

カテゴリー: Arrayオブジェクト, JavaScript, イテレーションメソッド(反復メソッド), メソッド, リファレンス, 組み込みオブジェクト タグ: パーマリンク