我有下面的数组。

var arr = [1,0,2];

我想删除最后一个元素,即2。

我使用了arr。slice(-1);但它并没有删除值。


当前回答

var arr = [ 0, 1, 2, 3, 4, 5, 6, 7 ]; // using slice arr = arr.slice(0, -1); console.log('arr : ', arr); // using splice arr.splice(-1); console.log('arr : ', arr); // using pop arr.pop(); console.log('arr : ', arr); // using shift and reverse arr.reverse().shift() arr.reverse(); console.log('arr : ', arr); // using spread Operator and reverse const [, ...exceptLast] = arr.reverse(); arr = exceptLast.reverse(); console.log('arr : ', arr); // removing last index arr.length -= 1; console.log('arr : ', arr);

其他回答

值得注意的是,slice都将返回一个新数组,而.pop()和.splice()将改变现有数组。

如果您喜欢使用链式命令样式处理数据集合,那么您将非常希望在此类情况下使用slice。

例如:

myArray = [1,2,3,4,5,6,7,8,9,10]; var newArrayOfThings = myArray .filter(x => x > 5) //只有大的东西 .slice(0, -1) //删除最后一项!Slice(-1)将给出第一个元素 .map(x => '数字是:${x} ')

它可能需要更多的混乱和变量管理,用“pop”做同样的事情,因为不像map, filter等,你不会得到一个新的数组。

push也是一样,它将一个元素添加到数组的末尾。你最好使用concat,因为它可以让你保持流动。

myArray = [1,2,3,4,5,6,7,8,9,10]; var newArrayOfThings = myArray .filter(x => x > 5) //只有大的东西 .slice(-1) //去掉"10" .concat([100]) //使用concat时,必须传递一个数组 .map(x => ' number is: ${x} ') //映射到一组字符串

art .slice(-1)将返回数组最后一个元素的副本,但原始数组不作修改。

要从数组中移除最后n个元素,使用arr.splice(-n)(注意“splice”中的“p”)。返回值将是一个包含已删除元素的新数组。

更简单的是,对于n == 1,使用val = arr.pop()

var a = [1,2,3,4,5,6]; 
console.log(a.reverse().slice(1).reverse());
//Array(5) [ 1, 2, 3, 4, 5 ]

类的最后一个元素删除和存储时,此方法更有用 数组中。

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 ()