传递json和结果依赖于2行- javascript



我有这个JSON javascript从ajax服务器响应

我需要传递它并获得新的json或arrat或其他东西它将返回给我状态为0的num如果有2种类型

例如:

id:1 num:1 type:A state:0
id:2 num:1 type:B state:0 

这是一个很好的数字!我需要这个num因为状态0属于类型A和B

但这并不好

id:1 num:1 type:A state:0
id:2 num:1 type:B state:1 

所以对于这个json,我的num将是: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
    }
]
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);
    }
}

最新更新