delete 数组中的元素,数组长度怎么改变
使用 delete 删除元素,返回 true 和 false,true 表示删除成功,false 表示删除失败。
使用 delete 删除数组元素并不会改变原数组的长度,只是把被删除元素的值变为 undefined,对应位置变成空位(hole)。
const arr = [1, 2, 3, 4];
delete arr[1];
console.log(arr); // [1, undefined, 3, 4]
console.log(arr.length); // 4
console.log(2 in arr); // false
补充:因为
delete只是断开属性与对象的联系,数组的length属性不会变。如果你需要真正缩短数组,请使用splice、pop、shift等数组方法:
arr.splice(1, 1); // 从索引 1 开始删除 1 个元素
console.log(arr); // [1, 3, 4]
来源整理自:vue3js.cn 面试官系列



