every遍历
var arr = [1, 2, 3, 3, 4, 5 ,6];
var arr1 = [1, 2, 3, 3, 4, 5 ,0];
var newArr = arr.every(function(item, index, array){
return item > 0;
});
var anotherArr = arr.every(function(item, index, array){
return item ;
});
console.log(newArr);
console.log(anotherArr);
var newArr1 = arr1.every(function(item, index, array){
return item > 0;
});
console.log(newArr1);
some
- 返回一个布尔类型,任意为真为真,全部为假时为假
- 所以此遍历可以被打断,返回一个真时,结束遍历
var arr = [false, undefined, '', NaN, 0 ,null,1];
var arr1 = [false, undefined, '', NaN, 0 ,null];
var newArr = arr.every(function(item, index, array){
return item > 0;
});
var anotherArr = arr.every(function(item, index, array){
return item ;
});
console.log(newArr);
console.log(anotherArr);
filter
var arr = [false, undefined, '', NaN, 0 ,null,1,2];
var newArr = arr.filter(function(item, index, array){
return item > 0;
});
var anotherArr = arr.filter(function(item, index, array){
return item ;
});
console.log(newArr);
console.log(anotherArr);
map
- 一次循环返回需要返回的值,若该次循环没有返回值,则默认返回undefined
var arr = [false, undefined, '', NaN, 0 ,null,1,2];
var newArr = arr.map(function(item, index, array){
return item > 0;
});
var anotherArr = arr.map(function(item, index, array){
});
var arr2 = [1, 2, 3, 4, 5 ,6];
var thirdArr = arr2.map(function(item,index,array){
return item + 1;
})
console.log(arr);
console.log(newArr);
console.log(anotherArr);
console.log(thirdArr)
forEach
- foreach和map()的区别在于没有返回值,如果仅仅想迭代数组,使用forEach(),如果对数组进行一些集体更改,请使用map()
- foreach在性能方面来说没有普通的for循环性能更好,所以说不建议使用