2 回答

TA貢獻1890條經驗 獲得超9個贊
我終于做到了,答案是:
result = {
"field": [{
"id": "11",
"name": "asma",
"email": "asma@hotmail"
}, {
"id": "11",
"name": "jone",
"email": "jone@hotmail"
}, {
"id": "1234",
"name": "jak",
"email": "jak@hotmail"
}]
}
results = result.field;
groups = {};
for (var i in results) {
var groupName = results[i].id;
if (!groups[results[i].id]) {
groups[groupName] = [];
}
groups[groupName].push({"name" :results[i].name,"email":results[i].email})
}
console.log(groups);

TA貢獻1824條經驗 獲得超6個贊
您可以簡單地使用reduce()方法:
var object = { "field": [ {"id":"11","name":"name","email":"email"},{"id":"11","name":"name","email":"email"},{"id":"1234","name":"name","email":"email"}]};
var result = object.field.reduce((acc, {id, ...rest})=>{
acc[id] = acc[id] || [];
acc[id].push({...rest});
return acc;
},{});
console.log(result);
添加回答
舉報