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

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循环性能更好,所以说不建议使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值