我有下面的数组。

var arr = [1,0,2];

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

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


当前回答

你可以用两种方式使用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.splice(-1)就可以了。

以身作则:

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]
// Setup
var myArray = [["John", 23], ["cat", 2]];

// Only change code below this line
var removedFromMyArray;
removedFromMyArray = myArray.pop()
var arr = [1,0,2];
arr.length--; 

//删除最后一个元素 //需要检查arr。长度为> 0

另一种方法是基于索引进行过滤:

arr.filter((element, index) => index < arr.length - 1);

注意:filter()创建新数组,不改变现有数组。