我有下面的数组。
var arr = [1,0,2];
我想删除最后一个元素,即2。
我使用了arr。slice(-1);但它并没有删除值。
我有下面的数组。
var arr = [1,0,2];
我想删除最后一个元素,即2。
我使用了arr。slice(-1);但它并没有删除值。
当前回答
2019 ECMA5解决方案:
const new_arr = arr.reduce((d, i, idx, l) => idx < l.length - 1 ? [...d, i] : d, [])
非破坏性的,通用的,一行程序,只需要在数组的末尾复制粘贴。
其他回答
如果你想在javascript中从数组的末尾删除n个项目,你可以很容易地使用:
arr.splice(-n, n);
你需要这样做,因为slice不会改变原始数组。
arr = arr.slice(0, -1);
如果你想改变原始数组,你可以使用splice:
arr.splice(-1, 1);
或者流行:
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
你可以用两种方式使用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 ()
使用JavaScript约定的Array.prototype.pop()。
let fruit = ['apple', 'orange', 'banana', 'tomato'];
let popped = fruit.pop();
console.log(popped); // "tomato"
console.log(fruit); // ["apple", "orange", "banana"]