【发布时间】:2019-09-09 05:29:53
【问题描述】:
这里有很多这样的问题,但我找不到符合我需求的问题。我正在寻找一个相对简单的解决方案,如何根据键将数组中的对象堆叠到新数组中。
在示例数据中,我们按对象的“ship”键对对象进行分组。
原始数据:
var myObjArray = [
{
name:'Malcolm Reynolds',
ship:'Serenity'
},
{
name: 'Carmen Ibanez',
ship: 'Rodger Young',
},
{
name: 'Zander Barcalow',
ship: 'Rodger Young',
},
{
name:'Hoban Washburne',
ship:'Serenity'
},
{
name:'James Kirk',
ship:'USS Enterprise'
}
];
重组数据:
var myNewObjArray = [
[{
name:'Malcolm Reynolds',
ship:'Serenity'
},
{
name:'Hoban Washburne',
ship:'Serenity'
}],
[{
name: 'Carmen Ibanez',
ship: 'Rodger Young',
},
{
name: 'Zander Barcalow',
ship: 'Rodger Young',
}],
{
name:'James Kirk', // optionally also stick in an array
ship:'USS Enterprise'
}
];
如果有人对此有解决方案,我将不胜感激,至少可以说我目前的尝试是草率的。
【问题讨论】:
-
请添加您的尝试。为什么最后一项没有包装在数组中?
-
使用
.sort(customCompare)wherecustomCompare = function(a,b){.....}
标签: javascript arrays json object ecmascript-6