我需要比较数组中的对象键,需要根据键值进行分组
const days = [
{'name':'Mon','value':1},
{'name':'Tue','value':5},
{'name':'Wed','value':10},
{'name':'Wed','value':30},
{'name':'Fri','value':18},
{'name':'Sat','value':80},
{'name':'Sat','value':90},
{'name':'Sun','value':20},
]
我需要这样分组
const result [[1],[5], [10, 30], [18], [80, 90], [20]]
我是 javascript 的新手,我不知道该怎么做。如果它在 lodash 中可能是 es6 就没问题。
最佳答案
您可以只遍历对象,创建键到数据的映射,然后使用 Object.values(newObj)
获取值
const days = [
{'name':'Mon','value':1},
{'name':'Tue','value':5},
{'name':'Wed','value':10},
{'name':'Wed','value':30},
{'name':'Fri','value':18},
{'name':'Sat','value':80},
{'name':'Sat','value':90},
{'name':'Sun','value':20},
]
let res = {}
days.forEach(obj => {
res = {...res, [obj.name]: [...(res[obj.name] || []), obj.value]}
})
console.log(Object.values(res));
关于javascript - 在javascript中比较数组与对象键和组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48381437/