gpt4 book ai didi

javascript - 合并/操作对象数组

转载 作者:行者123 更新时间:2023-12-01 02:40:03 25 4
gpt4 key购买 nike

我有一个如下所示的对象数组:

[{
animal: "cat",
dateString: "2017-01-03"
},{
animal: "dog",
dateString: "2017-02-05"
},{
animal: "cat",
dateString: "2017-03-04"
}]

我想创建一个如下所示的新数组:

[{
animal: "cat",
values: [
"2017-01-03",
"2017-03-04"
]
},{
animal: "dog",
values: [
"2017-02-05"
]
}]

如何将各个对象属性合并到值数组中?

最佳答案

没有 lodash/ramda 你也能做到

const a = [
{
animal: 'cat',
dateString: '2017-01-03'
}, {
animal: 'dog',
dateString: '2017-02-05'
}, {
animal: 'cat',
dateString: '2017-03-04'
}
]

const b = Object.values(a.reduce((a, b) => {
if (a[b.animal]) {
a[b.animal].values.push(b.dateString)
} else {
a[b.animal] = {animal: b.animal, values: [b.dateString]}
}
return a
}, {}))

关于javascript - 合并/操作对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47626250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com