簡體   English   中英

如何將對象數組轉換為對象列表

[英]How do I convert an object array to an object list

我有以下結構:

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

我需要將其轉換為:

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

我怎樣才能做到這一點?

這是使用Object.fromEntriesArray.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])) )

這是我找到的最簡單的解決方案之一

const items = [
    {
     "key": "Asset Type",
     "values": ["Appliances", "Electronics"]
    }, 
    {
      "key": "Asset Availability",
      "values": ["In Stock"]
    }
]
let output = items.map((obj)=>{
    let result = {};
    result[obj.key] = obj.values;
    return result;
    });
console.log(output);

另一個簡單的解決方案是使用 Array.prototype.reduce() 方法

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

console.log(
  array.reduce((acc, rec) => {
    acc = { ...acc, [rec.key]: rec.values }
    return acc
  }, {})
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM