javascript 将数组中的元素与JSON的项组合[duplicate]

vptzau2j  于 2022-12-17  发布在  Java
关注(0)|答案(1)|浏览(97)

此问题在此处已有答案

Sorting an array of objects by property values(34个答案)
十小时前关门了。
此帖子已在10小时前编辑并提交审阅,未能重新打开帖子:
原始关闭原因未解决
我有一个包含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()方法,但是我无法在需要的地方得到结果。请帮助我。我卡住了

lyr7nygr

lyr7nygr1#

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' }
]

相关问题