我们在处理数组的时候,如果想要删除干净一个数组按照正常的方式肯定是循环遍历,然后一个一个的将其删除掉,但在实际操作中会出现删除不干净的情况,这就是数组塌陷,下面小千介绍几种解决办法,记得收藏哦~
解决数组塌陷的办法
1.设置删除起始位置为0
想删除干净,需要将数组的长度先单独保存(let length=arr.length),不然数组的长度会随着数组的变化而变化,从而4>3,后面三个删除不了,例:
2.从后面开始删除,倒着删除
由图可知,数组元素删除干净,删除最后的元素即使影响数组的长度,但是它依旧是删除最后一个,直到删除干净为止
3.让i永远成为0,永远删除的是第一个元素
由图可知,数组删除干净,删除的总是第一个元素,即使数组塌陷它总会存在一个元素直到删除干净为止。
闭包中let和var的区别
我们打印的i是一个全局变量,从undefind可以看出我们声明了一个i但是未定义,而且输出的结果为5次5,一次性就完成了
由图可知,输出报错,i未定义,我们把console.log(i)关闭
总结:
let会自动生成一个闭包,而var不能
let暂时性死区 TDZ
let不允许重复声明,同一作用域内只能声明一次
let新增的块级作用域
for(作用域A){作用域B} 循环的应用
最后对前端开发感兴趣的同学,可以了解一下千锋教育web前端培训班提供的web前端学习路线,包括HTML5、CSS3、JavaScript及其常用的扩展库,能够让你对入门前端开发有一个清晰的认识,想要获取前端完整学习路线和免费的学习资料可以添加我们的web前端技术分享交流qq群:857920838 加群找群管理领取即可,等你来哦~~