我有下面的数组。
var arr = [1,0,2];
我想删除最后一个元素,即2。
我使用了arr。slice(-1);但它并没有删除值。
我有下面的数组。
var arr = [1,0,2];
我想删除最后一个元素,即2。
我使用了arr。slice(-1);但它并没有删除值。
当前回答
假设你有var arr = [1,0,2]
Arr.splice(-1,1)将返回数组[1,0];而arr.slice(-1,1)将返回数组[2];
其他回答
如果你想在javascript中从数组的末尾删除n个项目,你可以很容易地使用:
arr.splice(-n, n);
你需要这样做,因为slice不会改变原始数组。
arr = arr.slice(0, -1);
如果你想改变原始数组,你可以使用splice:
arr.splice(-1, 1);
或者流行:
arr.pop();
我得到了最好的答案!
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]
另一种方法是基于索引进行过滤:
arr.filter((element, index) => index < arr.length - 1);
注意:filter()创建新数组,不改变现有数组。
使用splice(startPosition, deleteCount)
array.splice(-1)
Var数组= ['abc','def','ghi','123']; Var remove = array.splice(-1);/ /最后一项 Console.log ('array:', array); Console.log ('removed:', removed);