1.for 循环
普通遍历方法,可优化,存下数组的length,避免每次都去获取数组的length,性能提升
for(var i=0;i<arr.length;i++){ console.log(arr[i]); }
2.for-in
不仅可遍历数组还可以遍历对象
for(key in obj)
该方法可以读取对象本身的成员属性,又可以遍历出对象的原型属性
3.forEach
无返值,可用return退出循环,不能用break退出循环
1 var str = ""; 2 arr.forEach(function (ele,index,array) { 3 str+=ele; 4 }); 5 alert(str);
4.map
有返回值,遍历后返回一新的数组,不改变原数组,返回什么都添加到数组中,相当于把数组的每一项变成return 的值
1 var arr2 = arr.map(function (ele,index,array) { 2 return ele+"你好"; 3 }) 4 5 console.log(arr2);
5.filter
有返回值,return为true的数组,不改变原数组,筛选,不改变数组每一项的值,筛选出满足条件的新数组
1 var arr1 = arr.filter(function (ele,index,array) { 2 if(ele.length>2){ 3 return true; 4 } 5 return false; 6 }); 7 8 console.log(arr1);
6.every
返回值为true或false,当数组的每一项都满足条件返回true,否则返回false,而参数是回调函数
var bool = arr.every(function (element,index,array) {
element = "aaa";
array[index] = "aaa";
if(element.length>2){
return false;
}
return true;
});
alert(bool);
7.find
对数组的每一个元素执行提供的函数,若有一个符合函数要求,则返回此数组的元素,结束循环,否则返回undefined
8.reduce
累加。空数组无返回值