全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

web前端技巧|数组塌陷的解决办法

发布时间:2021-04-07 09:04:00
发布人:小千

      我们在处理数组的时候,如果想要删除干净一个数组按照正常的方式肯定是循环遍历,然后一个一个的将其删除掉,但在实际操作中会出现删除不干净的情况,这就是数组塌陷,下面小千介绍几种解决办法,记得收藏哦~

      解决数组塌陷的办法

      1.设置删除起始位置为0

1

      想删除干净,需要将数组的长度先单独保存(let length=arr.length),不然数组的长度会随着数组的变化而变化,从而4>3,后面三个删除不了,例:

2

      2.从后面开始删除,倒着删除

3

      由图可知,数组元素删除干净,删除最后的元素即使影响数组的长度,但是它依旧是删除最后一个,直到删除干净为止

      3.让i永远成为0,永远删除的是第一个元素

4

      由图可知,数组删除干净,删除的总是第一个元素,即使数组塌陷它总会存在一个元素直到删除干净为止。

      闭包中let和var的区别

5

      我们打印的i是一个全局变量,从undefind可以看出我们声明了一个i但是未定义,而且输出的结果为5次5,一次性就完成了

6

      由图可知,输出报错,i未定义,我们把console.log(i)关闭

7

      总结:

      let会自动生成一个闭包,而var不能

      let暂时性死区 TDZ

      let不允许重复声明,同一作用域内只能声明一次

      let新增的块级作用域

      for(作用域A){作用域B} 循环的应用

      最后对前端开发感兴趣的同学,可以了解一下千锋教育web前端培训班提供的web前端学习路线,包括HTML5、CSS3、JavaScript及其常用的扩展库,能够让你对入门前端开发有一个清晰的认识,想要获取前端完整学习路线和免费的学习资料可以添加我们的web前端技术分享交流qq群:857920838  加群找群管理领取即可,等你来哦~~

相关文章

实现atoi函数时需要注意什么?

实现atoi函数时需要注意什么?

2023-10-14
Spring为什么不使用二级缓存?

Spring为什么不使用二级缓存?

2023-10-14
JAVA为什么要用多态,什么是多态?

JAVA为什么要用多态,什么是多态?

2023-10-14
arm架构和x86架构有什么区别?

arm架构和x86架构有什么区别?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取