文章詳情頁
javascript - 第二個for循環(huán)里面的j--什么意思?
瀏覽:119日期:2023-04-19 09:53:52
問題描述
var arr = [ 1,2,2,4,2 ];
for ( var i=0; i<arr.length; i++ ) {
for ( var j=i+1; j<arr.length; j++ ) { if ( arr[i] == arr[j] ) {arr.splice( j, 1 );j--; }}
}
問題解答
回答1:如果遇到重復(fù)項,從 arr 中 splice 掉。splice 掉之后,數(shù)組下一項仍是當(dāng)前索引,所以要先 j--; 再循環(huán)中的 j++,保持索引正確。
比如,外層第2次循環(huán),i = 1,j = 2,然后 arr[1] 是2,arr[2] 也是2,arr[2] 會被 splice 掉,數(shù)組變成 [1,2,4,2],下個元素 4 仍是第 2 項,如果不先 j--的話會漏掉。
回答2:樓上說的沒錯。補(bǔ)充一下,直接用 filter 就可以實(shí)現(xiàn)了。
var arr = [ 1,2,2,4,2 ];arr.filter(function (e, i) { return arr.indexOf(e) === i;})
標(biāo)簽:
JavaScript
相關(guān)文章:
1. python - Django 表單問題?2. mysql - sql 語句更改表結(jié)構(gòu),添加多個列,怎么寫?3. 如何修改phpstudy的phpmyadmin放到其他地方4. javascript - 網(wǎng)頁中嵌套iframe,網(wǎng)頁和iframe viewport不同,怎么能讓iframe中的網(wǎng)頁不變形5. 關(guān)于Mysql聯(lián)合查詢6. css3 - 這個右下角折角用css怎么畫出來?7. javascript - 百度搜索網(wǎng)站,如何讓搜索結(jié)果顯示一張圖片加上一段描述,如圖;求教8. javascript - main head .intro-text{width:40%} main head{display:flex}為何無效?9. pip安裝提示Twisted錯誤問題(Python3.6.4安裝Twisted錯誤)10. 索引 - 請教下Mysql大數(shù)據(jù)量的聯(lián)合查詢
排行榜

熱門標(biāo)簽