如果splice()的第一个参数为-1,则JavaScript splice()方法将删除数组的最后一项
我正在使用JavaScript如果splice()的第一个参数为-1,则JavaScript splice()方法将删除数组的最后一项,javascript,Javascript,我正在使用JavaScriptsplice()方法从数组中删除元素。 代码如下所示 var fruits = ["Banana", "Orange", "Apple", "Mango"]; function myFunction() { var index = fruits.indexOf('Kivi'); fruits.splice(index , 1); document.getElementById("demo").innerHTML = fruits; } 调
splice()
方法从数组中删除元素。
代码如下所示
var fruits = ["Banana", "Orange", "Apple", "Mango"];
function myFunction() {
var index = fruits.indexOf('Kivi');
fruits.splice(index , 1);
document.getElementById("demo").innerHTML = fruits;
}
调用函数后,数组的最后一个元素将被删除。为什么会这样?手册:
开始更改数组的索引。如果大于数组的长度,则实际开始索引将设置为数组的长度。如果为负,则从末尾开始许多元素
这只是出于设计。如果您将其设置为-2,它将从第一个到最后一个元素中删除,等等。因此,您在这里尝试的操作将不起作用。为什么不停止执行if
index==-1
并返回那里呢?您想确切知道什么?因为fruits.indexOf('Kivi')==-1
,并且-1
告诉splice()从末尾取一个。如果索引是负数,它将从数组的末尾开始工作-作为负索引,begin表示从序列末尾的偏移量。切片(-2)提取序列中的最后两个元素。