遍历数组

forEach

1)跳过数组空缺元素

2)无返回值

var colors = ["red", "blue", "grey"];
colors.forEach(function(item, index) {
    console.log(index + "-" + item)  //0-red  1-blue  2-grey
});

for...in  

1)处理下标为字符串的数组

var arr1 = new Array();
arr1['a'] = "xhaja";
arr1['b'] = "asda"
for(var key in arr1) {
  console.log(key)         //a , b
  console.log(arr1[key])   // xhaja , asda
}

while / do while

for

for(var i=0 ; i< arr.length ; i++) { } 

map

1)可用于每个数组元素的运算 

2)不改变原数组,返回与原数组长度一样的新数组

var arr = [1,2,3];
var result = arr.map(function(val){
   return val*2;
})
console.log(result);  // [2,4,6]

filter

1)可用于数组元素条件判断

2)不改变原数组,返回符合条件元素的新数组

var arr = [1,2,3];
var result = arr.map(function(val){
   return val>1;
})
console.log(result);  // [2,3]

every /  some 

1)可用于数组元素条件判断

2)但只返回 boolean 值

every :只返回 boolean 值 —— 当每个数组元素 “全部 ” 符合条件,才返回 true

some :当 “只要有一个” 数组元素符合条件,就返回 true

find / findIndex

1)可用于数组元素条件判断

2)返回一个 第一个符合条件 的数组元素值,没有返回undefined;f

   indIndex 返回的是数组下标

var s = [1,2,3,5];
var result = s.find(function(val){
    return val>=2
})
console.log(result)  //2

reduce

1)可用于将数组元素进行递进组合,返回一个值

2)第1次调用:第一个参数是初始值,第二个参数是第一个数组元素

   第2次调用:第一个参数是上一次调用的返回值,第二个参数是下一个数组元素

arr[1,2,3];
var result = arr.reduce(function(a,b){
    return a+b;
})
console.log(result)  // 6
设置初始值:
arr[1,2,3];
var result = arr.reduce(function(a,b){
    return a+b;
},60)
console.log(result)  // 66
原文地址:https://www.cnblogs.com/yuyedaocao/p/12047603.html