我有下面的数组。
var arr = [1,0,2];
我想删除最后一个元素,即2。
我使用了arr。slice(-1);但它并没有删除值。
我有下面的数组。
var arr = [1,0,2];
我想删除最后一个元素,即2。
我使用了arr。slice(-1);但它并没有删除值。
当前回答
var a = [1,2,3,4,5,6];
console.log(a.reverse().slice(1).reverse());
//Array(5) [ 1, 2, 3, 4, 5 ]
其他回答
使用JavaScript约定的Array.prototype.pop()。
let fruit = ['apple', 'orange', 'banana', 'tomato'];
let popped = fruit.pop();
console.log(popped); // "tomato"
console.log(fruit); // ["apple", "orange", "banana"]
使用splice(startPosition, deleteCount)
array.splice(-1)
Var数组= ['abc','def','ghi','123']; Var remove = array.splice(-1);/ /最后一项 Console.log ('array:', array); Console.log ('removed:', removed);
你可以用两种方式使用splice():
Arr. Splice (1, 1) Arr. Splice (arr. Length - 1, 1)
Splice (position_to_start_deleting, how_many_data_to_delete)有两个参数。
position_to_start_deleting:开始删除的从零开始的索引。 how_many_data_to_delete:从指定的索引删除连续数据的数量。
您还可以使用pop()删除最后一个元素,因为pop()会从某个数组中删除最后一个元素。 使用arr.pop ()
另一种方法是基于索引进行过滤:
arr.filter((element, index) => index < arr.length - 1);
注意:filter()创建新数组,不改变现有数组。
使用展开运算符:
Const a = [1,2,3] Const[,…]Rest] = a.reverse(); const withoutLast = rest.reverse(); console.log (withoutLast)