首页 > 解决方案 > 如何从另一个对象制作新对象?

问题描述

我从 API 读取了一堆数据,然后我想在 React 的前端对其进行排序。

我拥有的数据如下所示:

[{"project":4,"name":"X","id":0},
{"project":4,"name":"X","id":1},
{"project":4,"name":"X","id":2},
{"project":4,"name":"X","id":3},
{"project":4,"name":"Y","id":0}, 
{"project":4,"name":"Y","id":1},
{"project":4,"name":"Y","id":2}]

我需要它的样子是:

{name: "X", id: 0,1,2,3}
{name: "Y", id: 0,1,2}

我尝试过 groupby、loop,但它们没有按预期工作。

标签: javascript

解决方案


let arr = [
  { project: 4, name: 'X', id: 0 },
  { project: 4, name: 'X', id: 1 },
  { project: 4, name: 'X', id: 2 },
  { project: 4, name: 'X', id: 3 },
  { project: 4, name: 'Y', id: 0 },
  { project: 4, name: 'Y', id: 1 },
  { project: 4, name: 'Y', id: 2 }
]

let newArr = []

arr.forEach(element => {
  let tmp = {}
  if (element.name && element.id) {
    tmp = {
      name: element.name,
      id: element.id
    }
    this.newArr.push(tmp)
  }
});


推荐阅读