js Arrayオブジェクトの反復方法と集計方法

1751 ワード

反復メソッド


ECMAScript 5は配列オブジェクトに対して5つの反復メソッドを定義する.各メソッドは、2つのパラメータを受信します.各項目で実行する関数(3つのパラメータを受信します.配列内の位置、配列オブジェクト自体)、および(オプション)関数を実行する役割ドメインオブジェクト--thisの値に影響します.every()は配列の各項目に対して所定の関数を実行し、その関数が各項目に対してtrueを返すと、true filter()は配列の各項目に対して所定の関数を実行し、その関数はtrueの項目からなる配列forEach()は配列の各項目に対して所定の関数を実行し、この方法は値map()は配列の各項目に対して所定の関数を実行しない.各関数呼び出しの結果からなる配列some()を返して配列の各項目に対して所定の関数を実行し、その関数がいずれかに対してtrueを返すとtrueを返します.

集計方法


ECMAScript 5には、2つの集計配列の方法が追加されました.両方のメソッドは、配列のすべてのアイテムを反復し、最終的に返される値を構成します.両方のメソッドでは、2つのパラメータが受信されます.1つ目のパラメータは、各アイテムで呼び出された関数(この関数は、前の値、現在の値、アイテムのインデックス、配列オブジェクトの4つのパラメータを受信します).2つ目のパラメータは、集計ベースとしてオプションの初期値です.reduce()は、配列の最初の項目から始まり、最後のreduceRight()に1つずつ巡回し、配列の最後の項目から始まり、前に最初の項目に巡回します.
var values = [1,2,3,4,5];
var sum1 = values.reduce(function(prev,cur,index,array){
    return prev+cur;
});
var sum2 = values.reduce(function(prev,cur,index,array){
    return prev+cur;
},1);
console.log(sum1);//15
console.log(sum2);//16