我們在處理數組的時候,如果想要刪除干凈一個數組按照正常的方式肯定是循環遍歷,然后一個一個的將其刪除掉,但在實際操作中會出現刪除不干凈的情況,這就是數組塌陷,下面小千介紹幾種解決辦法,記得收藏哦~
解決數組塌陷的辦法
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 加群找群管理領取即可,等你來哦~~