我有一系列项目,例如:
var items = [id: "animal", type: "cat", cute: "yes"]
我正在尝试删除与给定 ID 匹配的所有项目。在这种情况下; 动物
我卡住了!我可以通过更简单的数组让它轻松工作,但这不是我需要的……我还需要按值删除项目,因为我不希望通过索引引用项目的麻烦。
有没有我可以使用的 jQuery 方法,我不需要遍历项目数组,而是指定一个选择器?
这是我的 jsFiddle:http://jsfiddle.net/zafrX/
最佳答案
我不确定通过索引引用数组项有多麻烦。删除数组项的标准方法是使用 splice method
for (var i = 0; i < items.length; i++)
if (items[i] === "animal") {
items.splice(i, 1);
break;
}
当然,您可以将其概括为一个辅助函数,这样您就不必在任何地方都复制它。
编辑
我刚刚注意到这个不正确的语法:
var items = [id: "animal", type: "cat", cute: "yes"]
你想要这样的东西吗:
var items = [ {id: "animal", type: "cat", cute: "yes"}, {id: "mouse", type: "rodent", cute: "no"}];
这会将删除代码更改为:
for (var i = 0; i < items.length; i++)
if (items[i].id && items[i].id === "animal") {
items.splice(i, 1);
break;
}
关于javascript - 按值从数组中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8873601/