您的位置:首页 > Web前端 > JavaScript

js各种数组遍历方法的区别 every some map filter foreach

2019-08-11 10:57 766 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq8344310/article/details/99173277

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);//true
console.log(anotherArr);//true
var newArr1 = arr1.every(function(item, index, array){
return item > 0;
});
console.log(newArr1);//false

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);//true
console.log(anotherArr);//false

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);//[1,2]
console.log(anotherArr);//[1,2]

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);//[false, undefined, '', NaN, 0 ,null,1,2]
console.log(newArr);//[false, false, false, false, false, false, true, true]
console.log(anotherArr);//[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
console.log(thirdArr)//[2, 3, 4, 5, 6, 7]

forEach

  • foreach和map()的区别在于没有返回值,如果仅仅想迭代数组,使用forEach(),如果对数组进行一些集体更改,请使用map()
  • foreach在性能方面来说没有普通的for循环性能更好,所以说不建议使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐