JSON 项数组中的 Сombine 元素



我有一个简单的JSON数组:

array = [
{number: 9, item: 'Item 1', descripton: 'abc'},
{number: 5, item: 'Item 2', descripton: 'def'},
{number: 9, item: 'Item 2', descripton: 'ghi'},
{number: 9, item: 'Item 1', descripton: 'xyz'},
]

如何获得JSON键('number', 'item')相同参数的数组,并获得像这样的新数组:

array = [
[
{number: 9, item: 'Item 1', descripton: 'abc'},
{number: 9, item: 'Item 1', descripton: 'xyz'},
],
[
{number: 5, item: 'Item 2', descripton: 'def'},
],
[
{number: 9, item: 'Item 2', descripton: 'ghi'},
] 
]

我尝试使用.sort().filter()方法,但我不能得到我需要的结果。

array = [
{
number: 9,
item: 'Item 1',
descripton: 'abc'
},
{
number: 5,
item: 'Item 2',
descripton: 'def'
},
{
number: 9,
item: 'Item 2',
descripton: 'ghi'
},
{
number: 9,
item: 'Item 1',
descripton: 'xyz'
},
];
array.sort((a, b) => {
if (a.item > b.item) {
return 1;
} else {
return -1;
}
});
console.log(array);
If you run the above js you will get output like this..
[
{ number: 9, item: 'Item 1', descripton: 'xyz' },
{ number: 9, item: 'Item 1', descripton: 'abc' },
{ number: 9, item: 'Item 2', descripton: 'ghi' },
{ number: 5, item: 'Item 2', descripton: 'def' }
]

最新更新