繁体   English   中英

将 {} 中的新 object 添加到数组

[英]Add new object in {} to array

我想编辑我的代码以将 {} new object 添加到按 id 分组的数组中,我的代码将 object 添加到我的旧 object 中:我的代码和结果是:

 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()方法:

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

我终于做到了,答案是:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM