亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 {} 中的新對象添加到數組

將 {} 中的新對象添加到數組

慕斯709654 2022-10-08 15:59:20
我想編輯我的代碼以將 {} 新對象添加到按 id 分組的數組中,我的代碼將對象添加到我的舊對象中:我的代碼和結果是:result = {  "field": [{    "id": "11",    "name": "name",    "email": "email"  }, {    "id": "11",    "name": "name",    "email": "email"  }, {    "id": "1234",    "name": "name",    "email": "email"  }]}results = result.field;groups = {};for (var i in results) {  var groupName = results[i].id;  if (!groups[results[i].id]) {    groups[groupName] = [];  }  groups[groupName].push(results[i].name);  groups[groupName].push(results[i].email);}console.log(groups);我希望結果是這樣的: {"1234": [        {"name" : "name",        "email":"email"},        {"name":"name",        "email":"email"}],     "11":[{"name":"name",        "email":"email"}]}** 我使用 wso2,所以我不能使用任何方法,例如: reduce 。謝謝 ..
查看完整描述

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);


查看完整回答
反對 回復 2022-10-08
?
慕妹3242003

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);


查看完整回答
反對 回復 2022-10-08
  • 2 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號