{ set.delete(item); console.log("item:", item); // 1,2,3,4,5 → Set 不塌陷 }); console.log("set:", set); // {}"> { set.delete(item); console.log("item:", item); // 1,2,3,4,5 → Set 不塌陷 }); console.log("set:", set); // {}"> { set.delete(item); console.log("item:", item); // 1,2,3,4,5 → Set 不塌陷 }); console.log("set:", set); // {}">
// Array 和 Set 在遍历时删掉自己
// 只有Array 有数组下标塌陷情况
const array = [1, 2, 3, 4, 5];
array.forEach((item, index) => {
array.splice(index, 1); // 数组下标重置
console.log("item:", item); // 只会输出 1,3,5
});
console.log("array:", array); // [2, 4] → 漏删
const set = new Set([1, 2, 3, 4, 5]);
set.forEach(item => {
set.delete(item);
console.log("item:", item); // 1,2,3,4,5 → Set 不塌陷
});
console.log("set:", set); // {}