国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

JavaScript中關(guān)于for循環(huán)刪除數(shù)組元素內(nèi)容時(shí)出現(xiàn)的問(wèn)題

2019-11-19 18:54:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

昨天用for循環(huán)進(jìn)行數(shù)組去重的時(shí)候出現(xiàn)的問(wèn)題,

首先,用雙重for循環(huán)把前一個(gè)和所有后面的元素進(jìn)行比較,如果相等則刪除。

但是,如果數(shù)組里面有三個(gè)以上連續(xù)相等的元素的時(shí)候,就會(huì)出現(xiàn)問(wèn)題。 

var arr = [1,1,1,2,2];for(var i=0; i<arr.length-1; i++){for(var j=i+1; j<arr.length; j++){if(arr[i] === arr[j]){arr.splice(j,1);}}} document.write("arr:"+arr);

輸出:

這是因?yàn)楫?dāng)數(shù)組刪除一個(gè)元素的時(shí)候,數(shù)組長(zhǎng)度減1,后面點(diǎn)元素就會(huì)往前移動(dòng)一位,索引也減1,但是j還是進(jìn)行了j++的操作。

即第一次進(jìn)行刪除是,i=0 j=1,刪除以后arr=[1,1,2,2],然后j=2,就會(huì)忽略掉刪除以后j=1的元素繼續(xù)往后遍歷。

因此在每次進(jìn)行了刪除的情況下,要對(duì)j進(jìn)行減1

var arr = [1,1,1,2,2];for(var i=0; i<arr.length-1; i++){for(var j=i+1; j<arr.length; j++){if(arr[i] == arr[j]){arr.splice(j--,1);}}}document.write("arr:"+arr);

輸出:

類似關(guān)于對(duì)數(shù)組元素進(jìn)行刪除的,都要考慮數(shù)組長(zhǎng)度會(huì)減1,后面的元素都會(huì)往前移動(dòng)一位

以上所述是小編給大家介紹的JavaScript中關(guān)于for循環(huán)刪除數(shù)組元素內(nèi)容時(shí)出現(xiàn)的問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇左市| 封开县| 葫芦岛市| 历史| 开阳县| 玉环县| 通道| 岳西县| 元江| 当阳市| 海南省| 遵义市| 巴南区| 龙井市| 兴山县| 西乌珠穆沁旗| 商水县| 保靖县| 吴江市| 武定县| 金门县| 沙湾县| 邓州市| 崇信县| 武强县| 余姚市| 梅州市| 辉县市| 九龙坡区| 井陉县| 汉寿县| 呼和浩特市| 绥滨县| 秭归县| 伊金霍洛旗| 上虞市| 武穴市| 遵义市| 红河县| 霍城县| 大连市|