[英]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.