日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js 数组的塌陷

發布時間:2023/12/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js 数组的塌陷 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1.什么是數組的塌陷?

2.數組的塌陷造成的后果?

3.清除塌陷造成的影響!


1.什么是數組的塌陷?

? ? 數組在執行刪除操作時,刪除數組單元之后,后面的數組單元會向前移動,出現在刪除單元的位置上,造成數組長度減少的現象,就是數組的塌陷。

2.數組的塌陷造成的后果?

? ? 只要數組執行刪除操作,立即就會觸發數組的塌陷,數組塌陷不會阻止,我們只能消除數組塌陷造成的影響。

var arr = [1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6];//先給數組排序 arr.sort(function (min, max) { return min - max }); console.log(arr);//然后循環遍歷數組// 當前的單元 和 下一個單元 進行數據的比較判斷 // 最后一個單元 沒有 下一個單元進行比較判斷 // 所以循環到 倒數第二個單元 就可以了 // 也就是 循環至 倒數第二個單元的索引下標就可以了 for (var i = 0; i < arr.length - 1; i++) {//判斷兩個單元的數值是否相等// arr[i] 是 當前索引下標對應的單元// arr[i+1] 是 下一個索引下標對應的單元if (arr[i] === arr[i + 1]) {// 如果 兩個單元 存儲的數據相同 刪除 后一個單元的數據arr.splice(i + 1, 1);} } console.log(arr);

數組的執行的結果:

?循環遍歷數組,進行判斷刪除操作后的結果

??那么我們就可以看出,循環遍歷數組,進行判斷刪除操作后,它是刪除了一部分重復的數據,但是呢,它沒能徹底完成去重,這就是數組塌陷造成的影響。

3.清除塌陷造成的影響!

? ? ?

? ? 既然數組塌陷造成了影響,那么肯定就會使我們的程序不能正常執行它的功能,這時候,我們就必須要消除數組坍塌造成的影響。

? ? 我們其實只需要進行一個簡單的操作,那就是,在if判斷里面,進行刪除操作后面添加一個i--,就可以消除數組坍塌造成的影響。

var arr = [1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6];arr.sort(function (min, max) { return min - max }); //console.log(arr);for (var i = 0; i < arr.length - 1; i++) {if (arr[i] === arr[i + 1]) {arr.splice(i + 1, 1);//消除數組坍塌造成的影響i--; } } console.log(arr);

執行結果:

?

總結

以上是生活随笔為你收集整理的js 数组的塌陷的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。