您可以使用以下.slice()方法执行此操作:

arr.slice(0, -1);    // returns [1,0]
这是一个演示:
var arr = [1, 0, 2];
var newArr = arr.slice(0, -1);    // returns [1,0]
console.log(newArr);
$('#div1').text('[' + arr + ']');
$('#div2').text('[' + newArr + ']');
Original Array    : 
After slice(0, -1): 
而不是做:
arr.slice(-1);   // returns [2]
这是一个演示:
var arr = [1, 0, 2];
var newArr = arr.slice(-1);    // returns [2]
console.log(newArr);
$('#div1').text('[' + arr + ']');
$('#div2').text('[' + newArr + ']');
Original Array    : 
After slice(-1):

说明:-

现在,Array.prototype.slice()或简而言之,slice()方法的基本语法是:

arr.slice([begin[, end]])

这里,

该begin参数是从零开始的索引,从该索引开始从数组中提取。因此,根据上述示例,我们可以说是否

arr.slice(0)    // returns [1,0,2]

它将从位置0的序列开始处返回所有数组元素[1,0,2]。同样,如果我们这样做

arr.slice(1)    // returns [0,2]

它会返回,[0,2]因为0在这里位于位置1,之后的所有位置。现在,在您的情况下,您已经传递了一个负索引,即-1作为begin参数,它指示与序列末尾的偏移量。因此,slice(-1)在您的情况下,提取序列中的最后一个数组元素,即2(如我们在上面的演示中已经看到的)。

现在,让我们end在slice()这里讨论方法语法中的参数。它还是从零开始的索引,从数组的提取在此结束。所以,可以说我们有一个像这样的数组:

var arr = [1, 0, 2, 5, 3, 9];

并且我们只想获取2,5,3数组中的元素。现在,2从序列开始的位置是2,对于最后一个元素3,位置是4。我们将需要在位置5处终止提取,因为我们需要在该位置之前获取元素。因此,我们将slice()在这里简单地实现方法

arr.slice(2, 5)    // returns [2,5,3]

在您的情况下,我们已经实现-1为end参数,因此我们的代码就像

arr.slice(0, -1)   // returns [1,0]

作为负索引,end表示距序列结尾的偏移量。因此,slice(0,-1)从序列中的倒数第二个元素中提取第一个元素。因此,我们获得了所需的输出。我们也可以做

arr.slice(0, 2)    // returns [1,0]

我们将获得相同的输出。但是,我在-1这里使用它是因为即使对于像

[0,2,3,1,2,9,3,6,3,9,1,0,2,9,0,1,1,2,3,4,7,9,1]

如果您只想删除最后一个元素,则不想在此处坐下并计算最后9个位置以及do like的位置arr.slice(0, 22)。然后,您可以在此处简单地实现负索引逻辑并执行

arr.slice(0, -1) // same result as arr.slice(0, 22)

希望能帮助到你!