Vai*_*ule 1 javascript arrays object
如何将以下输入转换为输出.
输入:
[{"id":1, "subid":5},
{"id":1, "subid":9},
{"id":2, "subid":16},
{"id":2, "subid":27}]
Run Code Online (Sandbox Code Playgroud)
输出:
[{1:[5,9]},
{2:[16,27]}]
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所尝试的:
var newobj = new Object();
listOfObject.forEach(function(i) {
var id = i.id
newobj[id] = []
newobj[id].push(i.subid)
return newobj
})
Run Code Online (Sandbox Code Playgroud)
减少这样的数据:
var arrayData = [{"id":1, "subid":5}, {"id":1, "subid":9}, {"id":2, "subid":16}, {"id":2, "subid":27}];
var result = arrayData.reduce(function (result, obj) {
var id = obj.id;
result[id] = (result[id] || []);
result[id].push(obj.subid);
return result;
}, {});
Run Code Online (Sandbox Code Playgroud)