我目前正在从事一个将数值存储在 JS 数组中的项目。经过一些更改后,它应该再次被删除。我目前使用这样的 array.splice 方法:
function removeA(arr, element) {
var index = arr.indexOf(element);
if (index >= 0) {
arr.splice(index, 1 );
}
return arr;
}
但这似乎给我带来了 Safari 上的问题。这段代码适用于所有浏览器,如 Chrome、Firefox、Opera。但不是在 Safari 上。它甚至适用于 Safari 的技术预览版。
有人有其他选择吗?
提前致谢 :)
原文由 nns 发布,翻译遵循 CC BY-SA 4.0 许可协议
您必须在索引前后切片,以及
concat
结果。请注意,Array.prototype.slice()
不会像Array.prototype.splice()
那样改变原始数组。或者使用 ES6 和数组传播: