首页 > 解决方案 > 将 JS 对象值更改为键/值

问题描述

谁能告诉我该怎么做?我想将 Product* 值更改为键/值对(产品:Product*),并将每个值更改为自己的对象。

输入:

[
  "ProductA": {
    "Available": true,
    "Customers": "non-registered"
  },

  "ProductB": {
    "Number": 0
  },

  "ProductC": {
    "Number": 10,
    "Available": false,
    "Customers": "registered"
  }
]

期望的输出:

[
  {
    "Product": "ProductA",
    "Available": true,
    "Customers": "non-registered"
  },
  {
    "Product": "ProductB",
    "Number": 0
  },
  {
    "Product": "ProductC",
    "Number": 10,
    "Available": false,
    "Customers": "registered"
  }
]

标签: javascript

解决方案


假设您想要数组中的结果对象,您可以通过简单的.map()using来做到这一点Object.keys()

const data = { "ProductA": { "Available": true, "Customers": "non-registered" }, "ProductB": { "Number": 0 }, "ProductC": { "Number": 10, "Available": false, "Customers": "registered" } };

let result = Object.keys(data).map(key => ({Product: key, ...data[key]}));
console.log(result);


推荐阅读