5种元素遍历方法,都需要回调函数
every()
如果每一项都返回true,结果是true;
如果有一项返回false,那么立刻停止遍历返回false
var arr = ["a", "b", "c"];
var bool = arr.every(function (ele,index,array) {
console.log(ele);//a 可读可写的属性
console.log(index);//0 只读
console.log(array);//["a", "b", "c"]
if(index>1){
return true;
}
return false;
})
console.log(bool);
filter()
返回一个新数组。每一项返回值为true的都放入新数组中
var arr = [1, 2, 3];
var arr1 = arr.filter(function (ele, index, array) {
if (ele % 2 == 0) {
return true;
}
return false;
})
console.log(arr1);//[2]
forEach()
代替for循环,没有返回值
var arr = [1, 2, 3];
arr.forEach(function (ele,index,array) {
//数组中的元素,在原有基础上*10
array[index] = ele*10;
})
console.log(arr);//[10, 20, 30]
map()
返回一个新数组。哪一个有返回值就把哪一项添加进新数组
var arr = [1, 2, 3];
var arr2 = arr.map(function (ele,index,array) {
//判断:只有单数能够返回,而且*10 之后返回
if(ele%2 == 1){
return ele*10;//获取的数组中的内容可以是一个二次加工后的元素。
}
return false;
})
console.log(arr2);//[10, false, 30]
some()
如果每一项都返回false结果是false;
如果有一项返回true,那么立刻停止遍历返回true
和every()相反
var arr = [1,2,3];
var bool2 = arr.some(function (ele,index,array) {
if(ele>3){
return true;
}
return false;
})
console.log(bool2);//false
转载自 http://blog.csdn.net/luyu13141314/article/details/53471295