[英]Get set of keys having same values
我有javascript对象数组:
objArray = [
{"date":"07/19/2017 12:00:00 AM","count":"1000","code":"K100"},
{"date":"07/21/2017 12:00:00 AM","count":"899","code":"C835"},
{"date":"07/23/2017 12:00:00 AM","count":"700","code":"C837"},
{"date":"07/23/2017 12:00:00 AM","count":"800","code":"K100"},
{"date":"07/23/2017 12:00:00 AM","count":"50","code":"C837"}
];
我想获取关键日期的所有值,其值如下所示
这是预期的输出:
newObjArray = [
{"date":"07/19/2017 12:00:00 AM","count":"1000","code":"K100"},
{"date":"07/21/2017 12:00:00 AM","count":"899","code":"C835"},
{"date":"07/23/2017 12:00:00 AM","count":"1550","code":["C837","K100","C837"]}
]
我已经尝试过这种方法,但是可以获得预期的输出。 任何可以帮助我处理我以获得所需输出的人。
objArray = [ {"date":"07/19/2017 12:00:00 AM","count":"1000","code":"K100"}, {"date":"07/21/2017 12:00:00 AM","count":"899","code":"C835"}, {"date":"07/23/2017 12:00:00 AM","count":"700","code":"C837"}, {"date":"07/23/2017 12:00:00 AM","count":"800","code":"K100"}, {"date":"07/23/2017 12:00:00 AM","count":"50","code":"C837"} ]; var objs = objArray.reduce((obj, rec) => { if (obj[rec.date] === undefined) { rec.code = [rec.code]; rec.count = Number(rec.count); obj[rec.date] = rec; } else { obj[rec.date].count += Number(rec.count); obj[rec.date].code.push(rec.code); } return obj; }, {}) console.log(Object.values(objs));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.