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

标签 javascript arrays indexof

关闭。这个问题需要debugging details .它目前不接受答案。












编辑问题以包含 desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem .这将帮助其他人回答问题。


5年前关闭。







Improve this question




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

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

并试图做
x.splice(x.indexOf("d"),1)

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

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

最佳答案

来自 MDN page for splice :

If negative, will begin that many elements from the end.



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

关于javascript - 为什么 Array.splice(-1,1) 删除 Javascript 中的最后一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39877777/

相关文章:

javascript - 什么是创建 JavaScript 类的正确、现代和跨浏览器安全的方法?

javascript - 无法阻止附加在 Jquery UI 对话框上的表单按钮的默认操作

javascript - 如何将状态推送到包含特定项目的数组?

java - 字符串在同一行出现的次数

javascript - 整个数组的 IndexOf 和警报名称

javascript - 使用 javascript 更改数组中项目的值

javascript - 相同的周期数对于 if 来说是不同的

javascript - 如何在 React Native 中动态添加或删除文本输入

javascript - 如何解析 JSONArray 并在 Javascript 中进行转换

javascript - 在数组 JavaScript 中添加所有成对的数字