如何解决如何通过键对对象数组进行分组
。简单_.groupBy
,并允许在分组结构中的对象中进行一些重复。
但是,OP还要求删除重复的make
密钥。如果您想一路走下去:
var grouped = _.mapValues(_.groupBy(cars, 'make'),
clist => clist.map(car => _.omit(car, 'make')));
console.log(grouped);
产量:
{ audi:
[ { model: 'r8', year: '2012' },
{ model: 'rs5', year: '2013' } ],
ford:
[ { model: 'mustang', year: '2012' },
{ model: 'fusion', year: '2015' } ],
kia: [ { model: 'optima', year: '2012' } ] }
如果您想使用Underscore.js进行此操作,请注意,其版本_.mapValues
称为_.mapObject
。
解决方法
有谁知道(如果可能的话,也用破折号)通过对象键对对象数组进行分组然后根据分组创建新的对象数组的方法吗?例如,我有一系列汽车对象:
var cars = [
{
'make': 'audi','model': 'r8','year': '2012'
},{
'make': 'audi','model': 'rs5','year': '2013'
},{
'make': 'ford','model': 'mustang','model': 'fusion','year': '2015'
},{
'make': 'kia','model': 'optima',];
我想制作一组新的汽车对象,并按以下类别分组make
:
var cars = {
'audi': [
{
'model': 'r8','year': '2012'
},{
'model': 'rs5','year': '2013'
},],'ford': [
{
'model': 'mustang',{
'model': 'fusion','year': '2015'
}
],'kia': [
{
'model': 'optima','year': '2012'
}
]
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。