【发布时间】:2020-10-24 11:21:08
【问题描述】:
我想将每一天的所有重复值加起来并按对象键对其进行排序
let meals = {
'Sat Jul 11 2020': [{ fruit: "apple" }, { fruit: "apple" }, { fruit: "orange" }, { fruit: "apple" }],
'Sat Jul 04 2020': [{ fruit: "orange" }, { fruit: "apple" }, { fruit: "orange" }],
'Fri Jul 03 2020': [{ fruit: "orange" }, { fruit: "orange" }, { fruit: "apple" }, { fruit: "orange" }]
}
let keys = Object.keys(meals);
let food = keys.map(item => {
return meals[item].map((x) => {
return x.fruit
});
});
var sorted ={};
food.forEach(i => {
i.map((x) => {
return [sorted[x] = (sorted[x] || 0) + 1];
})
});
我追求的是这样的:
'Sat Jul 11 2020': [{apple: 3, oranges: 1}],
'Sat Jul 04 2020': [{apple: 1, oranges: 2}],
'Fri Jul 03 2020': [{apple: 1, oranges: 3}],
我现在得到的是它把所有天的值加起来,而不是按天排序
有什么想法吗?
【问题讨论】:
标签: javascript arrays object foreach key