js中的数组迭代方法

在js高级程序设计中介绍了五种数组迭代方法

  • every() :对数组的每一项都运行给定函数,若对于每项执行函数都返回了true,则其结果为true
let everyResult=[1,2,3].every(
    (item,index,array)=>{
        return item>2
    }
)
console.log(everyResult)//输出false
  • some(): 对数组的每一项都运行给定函数,若存在一项执行函数返回了true,则其结果为true
let someResult=[1,2,3].some(
    (item,index,array)=>{
        return item>2
    }
)
console.log(someResult)//输出true
  • filter():对数组的每一项都运行给定函数,如名字一样,它的结果为所有返回true的项组成的数组
let filterResult=[1,2,3].filter(
    (item,index,array)=>{
        return item>1
    }
)
console.log(filterResult)//输出[2,3]
  • forEach():对数组的每一项运行给定函数,这个方法不进行返回,所以一般用于让数组循环执行某方法。
[1,2,3].forEach(
    (item,index,array)=>{
        alert(item);
    }
)
  • map():对数组的每一项运行给定函数,它将返回执行函数后的结果组成的新数组
let mapResult=[1,2,3].map(
    (item,index,array)=>{
        return item*2
    }
)
console.log(mapResult)//输出[2,4,6]

 

根据每项函数的介绍,可以简单的推测出其适用范围

  • every()与some()是一对,分别适用于检测数组是否全部满足某条件或者存在满足项。
  • forEach()与map()是一对,用于数组遍历执行指定函数,前者不返回数组,后者返回处理过的新数组
  • filter()则是相当于过滤器的存在,过滤掉数组中不符合条件的数据

 

es6,es7中有一些新的迭代方法

  • find():查询数组中是否有满足条件的项并返回
[1,2,3,1].find(item=>item===1);//1
[1,2,3].find(item=>item===11);//undefined
  • includes():查询数组是否包含某项,是的话返回true
[1,2,3].includes(2);//true
[1,2,3].includes(4);//false

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值