js foreach 跳出循环_你不知道的事----js遍历总结知识点(一)

刚刚完成一个大型后管项目,项目中,遇到很多需要遍历的地方,从而对遍历的方法又重新回顾了一遍,温故知新。

一、for循环

具体的代码实现不说了,来讨论下性能。对于小数据来说(1000条以下),不用考虑性能,只用考虑代码的可读性即可。当数据量大起来的时候,性能最强的循环是“for”循环和“while”循环。当数据量超过10000条的时候,while的性能比for的性能高那么一丢丢。

二、forEach

forEach因为不能像正常的循环一样,可以随时跳出循环,所以,在项目中对这个方法有点抵触。

2.1、实现方法:

37f405febf66a85adb76957a66436600.png

forEach遍历

这种遍历不能通过return等方法退出,return在这起的作用跟continue一样。当然可以通过try catch的方法跳出,但是这样就失去了意义。

675505263e59a7c42e5487e50f1af4ba.png

try catch

2.2、易错点:

2.2.1 值类型数组和引用类型数组的遍历

b3a4574ec9fe30b6fdc521c12b30965a.png

遍历值类型数组

数组arr1是一个值类型数组,通过测试发现,for of 、forEach、map都不能改变其中的值,只有for循环可以。

0c14d13ce66872a83b3d791cc27288bb.png

遍历引用类型数组

数组arr2是一个引用类型数组,引用类型数组,age均可改变。

2.2.2 返回值

forEach没有返回值,所以不能像filter或者map一样进行链式调用。

例1:map的经典链式调用

160167ae2033cbcb558354bca49661a4.png

正确的

例2:错误示范

2a42cb74ff7a4d069b42fcdeecd58826.png

错误的

PS:文章参考资料:掘金《forEach、map、filter、find、sort、some等易错点整理》。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值