js中几种循环方式和性能分析

1.普通for循环

for (let i = 0; i < arr.length; i++) {
    let obj = arr[i];
    
}

优化:

for (let i = 0,len = arr.length-1; i < len; i++) {
    let obj = arr[i];

}

2.foreach 数组方法

arr.forEach(function(e){

});

数组自带的方法,使用起来比普通for循环性能弱一点

3.for in 遍历对象

for(let j in arr) {

}

大家可能用这个用的比较多(ps:以前我经常用),不过实际测试这个是效率最低的   ,这个底层他会去遍历原型上的所有方法和属性,消耗的资源可想而知,虽然功能比较强大,大家用起来比较方便,具体用不用自己衡量

4.map遍历(es6)

arr.map(function(n){

});

数组的方法,比不上foreach效率

5.for of(es6)

for(let value of arr) {

}

这种方式是es6里面用到的,性能要好于for  in,但仍然比不上普通for循环

 

总结:

for in 是性能效率最低的   如果不是必要,不建议使用,平时大多数情况还是使用优化版的普通for循环好一点,如果是从旧数组中创建新数组那么就用map 吧

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值