这是我的JSON回复。我能够使用类似的东西从控制器端拼接出元素。现在,我的员工可以拥有相同的员工ID但不同的类型。所以我想通过比较Id和amp;来从响应中删除itesm。类型。例如,我需要删除带有Id ABC的雇员并仅输入D.我怎样才能把它们拼出来怎样才能继续
var searchresponse = [{
"items": [{
"employeeId": "ABC",
"type": "D",
"alive": "Yes"
}, {
"employeeId": "ABC",
"type": "P",
"alive": "Yes"
}, {
"employeeId": "NPK",
"type": "D",
"alive": "Yes"
}, {
"employeeId": "PKN",
"type": "A",
"alive": "Yes"
}],
"more": false
}];
var data1 = ["ABC"];
var data2 = ["D"] //- how to splice ABC also comparing the D
var items = searchresponse[0].items;
for (var i = items.length - 1; i >= 0; i--) {
if (data1.indexOf(items[i].employeeId) != -1) {
items.splice(i, 1);
}
}
答案 0 :(得分:1)
如果我理解你的权利..可以扩展if子句吗?
if (data1.indexOf(items[i].employeeId) != -1 && data2.indexOf(items[i].type) != -1)
答案 1 :(得分:1)
var filterd =searchresponse[0].items.filter(function (item) {
return item.employeeId == "ABC"&& item.type== "D"
})
你也可以在你的情况下使用underscore.js简单的javascript库
var filterd=_.where(searchresponse[0].items, {employeeId: "ABC", type: "D"});
会给你
[{
"employeeId": "ABC",
"type": "D",
"alive": "Yes"
}]