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

Vam*_*lly 3 javascript arrays indexof

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

var x = ["a","b","c"];
Run Code Online (Sandbox Code Playgroud)

并试图做

x.splice(x.indexOf("d"),1)
Run Code Online (Sandbox Code Playgroud)

事实证明这是x.splice(-1,1)- 它最终从数组中删除元素“c”!

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

Jam*_*ger 10

来自MDN 页面splice

如果为负数,将从末尾开始那么多元素。

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