我有下面的数组。
var arr = [1,0,2];
我想删除最后一个元素,即2。
我使用了arr。slice(-1);但它并没有删除值。
我有下面的数组。
var arr = [1,0,2];
我想删除最后一个元素,即2。
我使用了arr。slice(-1);但它并没有删除值。
当前回答
使用展开运算符:
Const a = [1,2,3] Const[,…]Rest] = a.reverse(); const withoutLast = rest.reverse(); console.log (withoutLast)
其他回答
var stack = [1,2,3,4,5,6];
stack.reverse().shift();
stack.push(0);
输出为:Array[0,1,2,3,4,5]。 这将允许您在插入新值时保持相同数量的数组元素。
我得到了最好的答案!
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]
以身作则:
let array_1 = [1,2,3,4];
let array_2 = [1,2,3,4];
let array_3 = [1,2,3,4];
let array_4 = [1,2,3,4];
array_1.splice(-1,1) // returned --> [4] array_1 = [1,2,3]
array_2.slice(0,-1); // returned --> [1,2,3] array_2 = [1,2,3,4]
array_3.pop(); // returned --> 4 array_3 = [1,2,3]
array_4.shift(); // returned --> 1 array_4 = [2,3,4]
你需要这样做,因为slice不会改变原始数组。
arr = arr.slice(0, -1);
如果你想改变原始数组,你可以使用splice:
arr.splice(-1, 1);
或者流行:
arr.pop();
var a = [1,2,3,4,5,6];
console.log(a.reverse().slice(1).reverse());
//Array(5) [ 1, 2, 3, 4, 5 ]