javascript - 如何从另一个对象制作新对象?
问题描述
我从 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,但它们没有按预期工作。
解决方案
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)
}
});
推荐阅读
- c++ - 如何从函数返回指向函数的指针
- python - 如何将多个字典添加到 pandas 中的现有 DataFrame
- tensorflow - AttributeError:“TensorSliceDataset”对象没有属性“'element_spec'”
- javascript - Chrome 扩展的内容脚本只绑定到本地网页
- arrays - React,如何在 axios 请求的对象中对数组进行包含
- java - 如何修复 CodingBat 中的递归代码错误?
- python - .json 被 json.dump 覆盖
- laravel - PhpStorm 将未定义变量错误传递给查看
- gojs - 如何禁用gojs图中的自动中心?
- elasticsearch - 拒绝对 [] 的映射更新,因为最终映射将具有超过 1 种类型