javascript - 在javascript中比较数组与对象键和组

标签 javascript lodash

我需要比较数组中的对象键,需要根据键值进行分组

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/

相关文章:

javascript - 在 html 和 javascript 中使用 div 切换内容

javascript - document.getElementById 不检索实际存在的元素

php - 为 ajax 调用设置 xmlhttpRequest.setRequestHeader?

javascript - 如何从数组中排除特定的 id?

javascript - 当用户单击时捕获鼠标悬停的所有事件目标,然后停止

javascript - 如何根据高度 float 元素

arrays - 将数组与排序数组进行比较,选择第一个元素

javascript - 使用 lodash 或 underscore.js 操作 javascript 中的对象数组

JavaScript : Make an array of value pairs form an array of values

javascript - lodash如何测试该对象被分配