为什么Array.splice(-1,1)删除了Javascript中的最后一个元素?

时间:2016-10-05 15:12:32

标签: javascript arrays indexof

我试图根据数组中的索引删除某些元素。 例如:

var x = ["a","b","c"];

并尝试做

x.splice(x.indexOf("d"),1)

因为结果是x.splice(-1,1) - 它最终会从数组中删除元素“c”!

无法理解为什么会发生这种情况,即使javascript中没有Arrays的循环属性。

1 个答案:

答案 0 :(得分:3)

来自MDN page for splice

  

如果否定,将从最后开始那么多元素。

所以x.splice(-1, 1)x的末尾开始一个元素并删除一个元素。