📅  最后修改于: 2023-12-03 14:42:31.691000             🧑  作者: Mango
在 JavaScript 中,我们可以使用不同的方法来删除数组中的最后一项。
.pop()
方法.pop()
方法可以用来删除数组的最后一项,并返回被删除的值。
let arr = [1, 2, 3, 4, 5];
let lastItem = arr.pop();
console.log(arr); // 输出 [1, 2, 3, 4]
console.log(lastItem); // 输出 5
.splice()
方法.splice()
方法可以用来删除数组中指定位置的元素。当我们指定要删除的元素位置为数组的最后一项时,即可以实现删除最后一项的效果。
let arr = [1, 2, 3, 4, 5];
let lastItem = arr.splice(arr.length - 1, 1);
console.log(arr); // 输出 [1, 2, 3, 4]
console.log(lastItem); // 输出 [5]
注意,.splice()
方法返回的是一个包含被删除元素的数组。如果我们只需要获取被删除的值,可以使用 arr[arr.length - 1]
。
.length
属性和delete
操作符我们还可以直接将数组的 length
属性减一,并结合 delete
操作符来删除最后一项。
let arr = [1, 2, 3, 4, 5];
delete arr[arr.length - 1];
console.log(arr); // 输出 [1, 2, 3, 4]
需要注意的是,使用 delete
操作符删除数组项后,数组的 length
属性不会自动更新。并且,被删除的元素仍然占据着数组的索引位置,只是其值变为 undefined
。
.filter()
方法.filter()
方法可以创建一个新的数组,其中包含通过指定函数测试的所有元素。我们可以通过结合使用.filter()
方法和判断索引的方式来删除最后一项。
let arr = [1, 2, 3, 4, 5];
arr = arr.filter((item, index) => index !== arr.length - 1);
console.log(arr); // 输出 [1, 2, 3, 4]
上述代码中,我们通过判断元素的索引是否等于 arr.length - 1
来排除了最后一项。
以上是 JavaScript 中删除数组最后一项的几种方法,每种方法都有其适用的场景,请根据实际需要选择合适的方法。