欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript數(shù)組塌陷實(shí)例解析

 更新時間:2023年05月23日 11:08:18   作者:陸榮濤  
這篇文章主要為大家介紹了JavaScript數(shù)組塌陷實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

什么是數(shù)組塌陷

當(dāng)數(shù)組執(zhí)行刪除單元操作時,被刪除單元,之后的單元,會前移,進(jìn)而頂替被刪除單元,出現(xiàn)在被刪除單元的位置上,造成數(shù)組長度減少的情況,這樣的現(xiàn)象稱為數(shù)組的坍塌

// 需求: 要求刪除掉數(shù)組中的所有元素,但是要一個一個的刪除
// 定義一個數(shù)組
var arr = [3, 4, 44, 65, 56]
console.log('原始數(shù)組 : ', arr);
// 遍歷循環(huán)數(shù)組
for (var i = 0; i < arr.length; i++) {
    arr.splice(i, 1)
}
console.log('刪除后的數(shù)組 : ', arr);
/* 
    分析:
    代碼開始執(zhí)行這個時候
    i===0  arr = [3, 4, 44, 65, 56]
    arr.length = 5  結(jié)果是true
    arr.splice(0,1)
    i===1 arr = [4, 44, 65, 56]
    arr.length = 4  結(jié)果是true
    arr.splice(1,1)
    i===2 arr = [4, 65, 56]
    arr.length = 3  結(jié)果是true
    arr.splice(2,1)
    i===3 arr = [4, 65]
    arr.length = 2  結(jié)果是falses
    循環(huán)結(jié)束
*/

解決方案一:

我們循環(huán)的時候倒著循環(huán)

// 解決方案 方案一
var arr = [3, 4, 44, 65, 56]
console.log('原始數(shù)組 : ', arr);
// 遍歷循環(huán)數(shù)組
for (var i = arr.length - 1; i >= 0; i--) {
    arr.splice(i, 1)
}
console.log('刪除后的數(shù)組 : ', arr);
/*
    分析:
    代碼開始執(zhí)行;
    i === 4  arr = [3, 4, 44, 65, 56]
    這個時候4是大于0的  條件成立
    arr.splice(4,1)
    i === 3  arr = [3, 4, 44, 65]
    這個時候3也是大于0 的  條件成立
    arr.splice(3,1)
    i === 2  arr = [3, 4, 44]
    這個時候也是大于0 的  條件成立
    arr.splice(2,1)
    i === 1  arr = [3, 4]
    這個時候1也是大于0 的  條件成立
    arr.splice(1,1)
    i === 0  arr = [3]
    這個時候0是等于0 的  條件成立
    arr.splice(0,1)
    i === -1  arr = []
    這個時候-1不大于等于0 的  條件不成立
    循環(huán)結(jié)束
*/

解決方法二

就是每執(zhí)行一次刪除就執(zhí)行一次 i-- 操作

// 解決方案  方案二
var arr = [3, 4, 44, 65, 56]
console.log('原始數(shù)組 : ', arr);
// 遍歷循環(huán)數(shù)組
for (var i = 0; i < arr.length; i++) {
    arr.splice(i, 1)
    i--
}
console.log('刪除后的數(shù)組 : ', arr);
/*
    分析:
    代碼開始執(zhí)行
    i === 0  arr = [3, 4, 44, 65, 56]
    arr.length = 5  條件成立
    arr.splice(0, 1)
    這個時候執(zhí)行了 i--
    i === 0  arr = [4, 44, 65, 56]
    arr.length = 4  條件成立
    arr.splice(0, 1)
    i === 0  arr = [ 44, 65, 56]
    arr.length = 3  條件成立
    arr.splice(0, 1)
    i === 0  arr = [ 65, 56]
    arr.length = 2  條件成立
    arr.splice(0, 1)
    i === 0  arr = [ 56]
    arr.length = 1  條件成立
    arr.splice(0, 1)
    i === 0  arr = []
    arr.length = 0  條件不成立
    循環(huán)結(jié)束
*/

以上就是JavaScript數(shù)組塌陷實(shí)例解析的詳細(xì)內(nèi)容,更多關(guān)于JavaScript數(shù)組塌陷的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論