我在ajax服务器响应
的javascript中有这个JSON我需要传递它并获得新的json或arrat或其他能够返回状态为“0”的数字的其他类型
例如:
id:1 num:1 type:A state:0
id:2 num:1 type:B state:0
这是好数字!!我需要这个数字因为状态0是A型和B型
但这不好
id:1 num:1 type:A state:0
id:2 num:1 type:B state:1
所以对于这个json我的数字将是:1,3
[
{
"id": 1,
"num":1,
"type":"A",
"state": 0
},
{
"id": 2,
"num":1,
"type":"B",
"state": 0
},
{
"id": 3,
"num":2,
"type":"A",
"state": 1
},
{
"id": 4,
"num":2,
"type":"B",
"state": 0
},
{
"id": 5,
"num":3,
"type":"A",
"state": 0
},
{
"id": 6,
"num":3,
"type":"B",
"state": 0
}
]
答案 0 :(得分:0)
var aa = [
{ "id": 1, "num": 1, "type": "A", "state": 0 },
{ "id": 2, "num": 1, "type": "B", "state": 0 },
{ "id": 3, "num": 2, "type": "A", "state": 1 },
{ "id": 4, "num": 2, "type": "B", "state": 0 },
{ "id": 5, "num": 3, "type": "A", "state": 0 },
{ "id": 6, "num": 3, "type": "B", "state": 0 }
],
num = {},
result = [],
i;
aa.forEach(function (a, i) {
if (a.state === 0) {
num[a.num] = num[a.num] || [];
num[a.num].push(i);
}
});
for (i in num) {
if (num[i].length >= 2) {
result.push(i);
}
}