【发布时间】:2022-01-08 05:13:21
【问题描述】:
有没有人知道一种方法(如果可能的话,lodash)通过对象键对对象数组进行分组,然后根据分组创建一个新的对象数组?例如,我有一个汽车对象数组:
const cars = [
{
'make': 'audi',
'model': 'r8',
'year': '2012'
}, {
'make': 'audi',
'model': 'rs5',
'year': '2013'
}, {
'make': 'ford',
'model': 'mustang',
'year': '2012'
}, {
'make': 'ford',
'model': 'fusion',
'year': '2015'
}, {
'make': 'kia',
'model': 'optima',
'year': '2012'
},
];
我想创建一个按make 分组的新汽车对象数组:
const cars = {
'audi': [
{
'model': 'r8',
'year': '2012'
}, {
'model': 'rs5',
'year': '2013'
},
],
'ford': [
{
'model': 'mustang',
'year': '2012'
}, {
'model': 'fusion',
'year': '2015'
}
],
'kia': [
{
'model': 'optima',
'year': '2012'
}
]
}
【问题讨论】:
-
您的结果无效。
-
是否有类似的方法来获取地图而不是对象?
-
如果您使用的是 Typescript(这不是 OP 的情况),您已经拥有 groupBy 方法。您可以使用
your_array.groupBy(...) -
your_array.groupBy(...) 不存在!!
标签: javascript arrays grouping