【发布时间】:2021-10-06 13:49:37
【问题描述】:
我有一个array 我想从中删除一个对象,
我试着用splice()写这个,
但是当我找到它并 splice 时,我的代码会删除所有对象,除了找到的对象。
这是我的 JavaScript 代码: On jsfiddle
var MyArr = [{
"id": "139",
"count": 2,
},
{
"id": "138",
"count": 2,
},
{
"id": "196",
"count": 1,
},
{
"id": "122",
"count": 1,
}
]
console.log(MyArr);
var linkItemId = parent.find("a").attr("data-menu-id");
var indexItem = MyArr.findIndex(x => x.id == linkItemId);
for (var i = 0; i < MyArr.length; i++) {
if (linkItemId == MyArr[i].id) {
//var indexItem = arr[i].index;
MyArr = MyArr.splice(indexItem,1);
break;
}
}
【问题讨论】:
-
.splice()修改数组并返回删除的元素。只是不要将它的返回值分配给MyArr -
如果您要更改问题的代码之后有人已经为旧版本添加了答案,至少通知他们该更改。但你的修改一开始就不应该是必要的......
标签: javascript jquery arrays arraylist array-splice