數組的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,新增的7、8元素並沒有被輪迴,然則數組的長度確實是增添了。

在foreach中刪除屬於元素

和增添差別的是,中數組中削減元素卻會削減輪迴次數,而且刪除的元素背面的元素會被“跳過”

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

輸出的效果:1,2,2

第二個被刪除了,長度已變成了2,所以輪迴到第二次就住手了,致使第三個元素沒被輪迴,發作“跳過”徵象。但由於刪除時,獲取到的當前元素已是第二個,所以輸出的照樣2.

覺得總結的有價值的同硯請點個贊,給個勉勵,給點動力,感謝支撐!!!

    原文作者:code_sir
    原文地址: https://segmentfault.com/a/1190000014488802
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞