在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.