是的,使用delete
删除数组中的元素会改变数组的长度,但在数组中留下一个undefined
占据被删除元素的位置。因此,delete
适用于对象属性的删除,而推荐使用Array.prototype.splice()
方法来删除数组中的元素,因为该方法可以保持数组的连续性并不会在被删除元素的位置留下undefined
。例如:
const arr = [1, 2, 3, 4, 5]; // 使用splice方法删除数组中的第二个元素 arr.splice(1, 1); // 输出数组 [1, 3, 4, 5] console.log(arr); // 输出数组长度 4 console.log(arr.length);