-
需求: 遍历数组的同时删除数组中所有的元素
-
通过传统遍历数组的方式
- 弊端: 删除不尽元素
let arr = [1, 2, 3, 4, 5]; console.log(arr); // [1, 2, 3, 4, 5] // 0 0 < 5 // 1 1 < 4 // 2 2 < 3 // 3 3 < 2 // 删除不尽是因为在数组中删除一个元素, 后面的元素会自动往前挪动 for (let i =0; i < arr.length; i++){ arr.splice(i, 1); } console.log(arr); // [2, 4]
-
从后往前删
let arr = [1, 2, 3, 4, 5]; console.log(arr); // [1, 2, 3, 4, 5] let len = arr.length for (let i = len - 1; i >= 0; i--){ arr.splice(i, 1); } console.log(arr); // []
-
通过 delete 删除 (推荐)
-
注意点: 通过 delete 来删除数组中的元素, 数组的 length 属性不会发生变化
let arr = [1, 2, 3, 4, 5]; console.log(arr); // [1, 2, 3, 4, 5] for (let i = 0; i < arr.length; i++){ // 注意点: 通过 delete 来删除数组中的元素, 数组的 length 属性不会发生变化 delete arr[i]; } console.log(arr); // [empty × 5]
-
-
网友评论