【发布时间】:2017-05-01 19:49:29
【问题描述】:
我有一个这样的 REST API 的 JSON 数组输出,我正在使用 ng-repeat 在 HTML 上显示这些项目。
var searchresponse = [{
"items": [{
"employeeId": "ABC",
"type": "D",
"alive": "Yes"
}, {
"employeeId": "DEF",
"type": "D",
"alive": "Yes"
}, {
"employeeId": "NPK",
"type": "D",
"alive": "Yes"
}, {
"employeeId": "PKN",
"type": "A",
"alive": "Yes"
}],
"more": false
}];
当用户尝试使用 selectall/single select 删除时,我正在调用 REST API 以从 db 中删除员工 ID。一旦我得到一个成功的响应,我计划拼接/删除用户从视图中选择的值。我想从搜索响应中删除以下employeeid 及其类型,alive 已删除
var data1=["ABC","NPK","PKN"];
我试过这样做
var data1=["ABC","NPK"];
var items=searchresponse[0].items;
for(i in items){
if(data1.indexOf(items[i].employeeId)!=-1){
items.splice(i,1);
}
}
console.log(searchresponse[0].items);
真正发生的是,它只删除了偶数项,例如:它删除了 ABC,PKN 。 (它正在删除列表中的第 0、第 2、第 4 项。留下第 1、第 3 项等)。我在这里缺少什么
【问题讨论】:
-
它不会从列表中删除项目
-
可以通过$index获取对象的索引,然后从数组中拼接对象
-
我该怎么做axcl,请你指导我。我被这件事震惊了一天。
标签: javascript jquery angularjs arrays json