我有下面的数组。
var arr = [1,0,2];
我想删除最后一个元素,即2。
我使用了arr。slice(-1);但它并没有删除值。
我有下面的数组。
var arr = [1,0,2];
我想删除最后一个元素,即2。
我使用了arr。slice(-1);但它并没有删除值。
当前回答
使用splice(startPosition, deleteCount)
array.splice(-1)
Var数组= ['abc','def','ghi','123']; Var remove = array.splice(-1);/ /最后一项 Console.log ('array:', array); Console.log ('removed:', removed);
其他回答
这里有一个函数解释一下:
arr.pop();
类的最后一个元素删除和存储时,此方法更有用 数组中。
var sampleArray = [1,2,3,4];// Declaring the array
var lastElement = sampleArray.pop();//this command will remove the last element of `sampleArray` and stores in a variable called `lastElement` so that you can use it if required.
现在的结果是:
console.log(sampleArray); //This will give you [1,2,3]
console.log(lastElement); //this will give you 4
我认为.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 ());
这可能并不可取……
希望这能为您节省一些时间。
// Setup
var myArray = [["John", 23], ["cat", 2]];
// Only change code below this line
var removedFromMyArray;
removedFromMyArray = myArray.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]