我有下面的数组。

var arr = [1,0,2];

我想删除最后一个元素,即2。

我使用了arr。slice(-1);但它并没有删除值。


当前回答

如果你想在javascript中从数组的末尾删除n个项目,你可以很容易地使用:

arr.splice(-n, n);

其他回答

我得到了最好的答案!

var array = [1, 2, 3, 4]
array.length = array.length - 1

console.log(array)
> [1, 2, 3]

老实说,JS在这一点上是一个迷因。

PS:这会影响变量和它的任何引用,如果你不想影响变量的任何引用,你可以这样做:

var array = [1, 2, 3, 4]
var modifiedArray = Array.from(array)
modifiedArray .length = modifiedArray .length - 1

console.log(modifiedArray )
> [1, 2, 3]

我认为.pop()是最“正确”的解决方案,然而,有时它可能不起作用,因为你需要使用数组没有最后一个元素在那里…

在这种情况下,你可能想使用下面的代码,它将返回[1,2,3]

var arr = [1,2,3,4]; console.log(arr.splice(0,arr.length-1));

而.pop()将返回4:

Var arr = [1,2,3,4]; console.log (arr.pop ());

这可能并不可取……

希望这能为您节省一些时间。

假设你有var arr = [1,0,2]

Arr.splice(-1,1)将返回数组[1,0];而arr.slice(-1,1)将返回数组[2];

使用展开运算符:

Const a = [1,2,3] Const[,…]Rest] = a.reverse(); const withoutLast = rest.reverse(); console.log (withoutLast)

你需要这样做,因为slice不会改变原始数组。

arr = arr.slice(0, -1);

如果你想改变原始数组,你可以使用splice:

arr.splice(-1, 1);

或者流行:

arr.pop();