jsで配列を巡るいくつかの方法のまとめ


1、forEach 
var arr= ['  ', '  ', '  '];
arr.forEach(function(v,k) { 
    console.log(v); //       name    
});

//  :jquery each     ,  :
$(arr).each(function(k,v){
      console.log(v);   
});


2、map
mapはforEachとほぼ似ていますが、mapはマッピングを表しています.つまり、一つ一つ対応しています.遍歴が完了すると新しい配列が返されますが、元の配列は変更されません.
    var a1 = ['a', 'b', 'c'];
    var a2 = a1.map(function(item,key,arr) {
        return item.toUpperCase();
    });
    console.log(a1);// ['a','b','c'];
    console.log(a2); //['A','B','C'];

  :map       ,       ,               ,           

3、filter
フィルタはフィルタという意味で、つまりフィルタです.注意:filterは各要素を遍歴し、各要素でマッチングし、trueを返すと回数を返し、最後に追加されたすべての要素を選択します.
var a1 = [1,2,3,4,5,6];
var a2 = a1.filter(function(item) { 
     return item <= 3; 
});
 console.log(a2); // [1,2,3];

//filter           ,         ,    true,        ,              

4、reduce
reduceは左から右へ遍歴し、一般的に加減乗除用の計算に用いられる.reduce()メソッドは、関数をアキュムレータとして受信し、配列内の各値(左から右)を縮小し、最終的に値として計算します.注意:
  • はreturn first+secondであり、実際にはreturn first+=secondに相当する.つまり毎回のfirstは前回と
  • はfunction{}の後のパラメータであり、値があれば最初にロードされたときfirst=0である.second = 1;値がない場合はfirst=1、second=2です.後のパラメータが文字列である場合、文字列接合、
  • になります.
    var a1 = [1, 2, 3];
    var total = a1.reduce(function(first, second) { 
         return first + second; 
    },0);
    console.log(total) // Prints 6
    
    

    5、every(および)注意:配列内の各要素がcallback上でtrueを返すとtrueが返され、そうでない場合falseが返されます.
    function isNumber(value){ 
        return typeof value == 'number';
    }
    var a1 = [1, 2, 3];
    console.log(a1.every(isNumber)); // logs true
    var a2 = [1, '2', 3];
    console.log(a2.every(isNumber)); // logs false
    
    

    6、some(または)注意:配列の1つがcallback上でtrueを返す限り、trueを返す
    function isNumber(value){ 
       return typeof value == 'number';
    }
    var a1 = [1, 2, 3];
    console.log(a1.some(isNumber)); // logs true
    var a2 = [1, '2', 3];
    console.log(a2.some(isNumber)); // logs true
    var a3 = ['1', '2', '3'];
    console.log(a3.some(isNumber)); // logs false