首页 > 解决方案 > javascript 对象转换成新的数组对象?

问题描述

你能帮我做一个 JSON 转换吗?

给定结构:

[
  {
    "_id": "606f990042cc89060c54a632",
    "number": 1293,
    "date": "2021-04-08",
    "__v": 0
  },
  {
    "_id": "606e478042cc89060c54a631",
    "number": 997,
    "date": "2021-04-07",
    "__v": 0
  }
]

转换结构:

[
  {
    "id": "weight",
    "data": [
      {
        "x": "2021-04-08",
        "y": 1293
      },
      {
        "x": "2021-04-07",
        "y": 997
      }
    ]
  }
]

我怎样才能最有效地解决这个问题?我应该使用 lodash-library 还是 JavaScript 的内置函数?

你能给我一个提示吗?

标签: javascriptarraysjson

解决方案


您可以使用Array#map(与解构)。

let arr = [{"_id":"606f990042cc89060c54a632","number":1293,"date":"2021-04-08","__v":0},{"_id":"606e478042cc89060c54a631","number":997,"date":"2021-04-07","__v":0},{"_id":"606d3508c7f841e27c8a25a1","number":1068,"date":"2021-04-06"},{"_id":"606d3508c7f841e27c8a25a0","number":890,"date":"2021-04-05"},];
let res = arr.map(({date:x,number:y})=>({x,y}));
console.log(res);


推荐阅读