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

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

      解决数组塌陷的办法

      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} 循环的应用


请使用浏览器的分享功能分享到微信等