2

我在这个结构中得到一个 json:

{
data: { 
    ads: [
            {           
            name: "0",
            id: "81"
            },
            {           
            name: "0",
            id: "82"
            }           
        ]
    }
}

我想像这样从现有的一个 json 中再创建一个。

{
json{
    81:[
            {           
                name: "a",
                id: "81"
            },
        ]
    82:[
        {           
                name: "c",
                id: "82"
            }
    ]
  }

}

我没有得到如何根据 id 创建。任何人都可以在这方面帮助我。使用 javascript 我想创建这个

4

1 回答 1

4

您可以使用括号表示法来实现这一点:

var obj = {
    data: { 
        ads: [
            {           
            name: "0",
            id: "81"
            },
            {           
            name: "0",
            id: "82"
            }           
        ]
    }
};

var newobj = {
  json: {}
};
for(var i in obj.data.ads) {
    var a = obj.data.ads[i];
    if(!(a.id in newobj.json)) {
        newobj.json[a.id] = [];
    }
    newobj.json[a.id].push({ name: a.name, id: a.id });
}

这是一个要演示的小提琴。

于 2013-10-28T10:25:13.757 回答