首页 > 解决方案 > 如何将对象数组转换为对象列表

问题描述

我有以下结构:

[
   {
     "key": "Asset Type",
     "values": ["Appliances", "Electronics"]
    }, 
    {
      "key": "Asset Availability",
      "values": ["In Stock"]
    }
]

我需要将其转换为:

{
  "Asset Type": ["appliances", "electronics"],
  "Asset Availability": ["in stock"]
}

我怎样才能做到这一点?

标签: javascriptecmascript-6

解决方案


这是一种使用Object.fromEntriesand的方法Array.prototype.map(将数组转换为二维数组,因为这是Object.fromEntries预期的)

const items = [{
    "key": "Asset Type",
    "values": ["Appliances", "Electronics"]
  },
  {
    "key": "Asset Availability",
    "values": ["In Stock"]
  }
]

console.log(
  Object.fromEntries(items.map(({
    key,
    values
  }) => [key, values]))
)


推荐阅读