js常用遍历方法

1.for()
写法比较繁杂,循环快效率高。
2.forEach()
没有返回值,不能进行流程控制。
3.map()
有返回数组,支持链式写法,内存占用低。
3.for( in )
一般用于遍历对象属性,虽然也可以遍历数组。
4.for( of )
一般用于遍历数组和集合(set、map),支持流程控制,效率较高。

不同浏览器对方法的支持可能不同,运行速度和效率也不同。

  • 谷歌浏览器中ES6+的循环语法会普遍比传统的循环语法慢,但是火狐和safari中情况却几乎相反。
  • 谷歌浏览器的各种循环语法的执行耗时上差距并不大。但map特殊,速度明显比其他几种语法慢,而在火狐和safari中却出现了反转,map反而比较快!

注意点:
1.遍历过程中,当数组中元素是值类型,不会改变数组;当是引用类型,则可以改变数组;
比如:[1,2,3] 和 [{name: ‘a’, id: ‘1’}, {name: ‘b’, id: ‘2’}]。
2.map创建新数组不代表不能用它改变原有数组,你用原有数组去承载就可以;
比如: arr = arr.map(item => {});
map()中每个元素都要执行相应的回调函数,所以必须要有return;
3.filter() 返回条件为true的新数组,但不改变原数组。
4.some和every都返回Boolean值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值