數組的foreach中操做數組

在foreach中增長數組新元素

在foreach中增長數組元素,不會致使循環增長,循環次數仍是原來數組的長度。數組

var arr=[1,2,3];
arr.forEach((item)=>{
    
    if(item==2){
        arr.push(7);
        arr.push(8);
    }
    console.log(item);
});
console.log(arr.length);

結果是:1,2,3,5,新增的七、8元素並無被循環,可是數組的長度確實是增長了。code

在foreach中刪除屬於元素

和增長不一樣的是,中數組中減小元素卻會減小循環次數,而且刪除的元素後面的元素會被「跳過」it

var arr=[1,2,3];
arr.forEach((item)=>{
    if(item==2){
        arr.splice(1,1);
        
    }
    console.log(item);
});
console.log(arr.length);

輸出的結果:1,2,2console

第二個被刪除了,長度已經變成了2,因此循環到第二次就中止了,致使第三個元素沒被循環,發生「跳過」現象。但因爲刪除時,獲取到的當前元素已是第二個,因此輸出的仍是2.

感受總結的有價值的同窗請點個贊,給個鼓勵,給點動力,謝謝支持!!!

相關文章
相關標籤/搜索