簡體   English   中英

將對象數組轉換為具有鍵值的數組

[英]Convert an array of objects into an array with key values

如何將對象數組轉換為具有鍵和值的數組。 我們確保每個對象僅包含一個值。

"values":[
    {
        "first(%)":"91.52%"
    },
    {
        "second(%)":"98.98%"
    },
    {
        "Total(%)":"95.00%"
    }
]

所需的輸出:

"values":[
    "first(%)":"91.52%",
    "second(%)":"98.98%",
    "Total(%)":"95.00%",
]

您可以通過采用Object.assign將所有對象分配給單個對象。

 var object = { values: [{ "first(%)": "91.52%" }, { "second(%)": "98.98%" }, { "Total(%)": "95.00%" }] }, result = { values: Object.assign({}, ...object.values) }; console.log(result); 

您可以使用.reducespread語法將值數組中的每個對象放入新的累積對象中,如下所示:

 const values=[{"first(%)":"91.52%"},{"second(%)":"98.98%"},{"Total(%)":"95.00%"}], valObj = values.reduce((acc, obj) => ({...acc, ...obj}), {}); console.log(valObj); 

JavaScript沒有關聯數組。 但是,您可以使用對象存儲鍵/值。

這是一種從數組中的項中提取鍵/值並使用reduce對其設置的方法:

 const data = { "values": [ { "first(%)":"91.52%"}, { "second(%)":"98.98%" }, { "Total(%)":"95.00%" } ] }; const result = data.values.reduce((acc, x) => { Object.entries(x).forEach(([key, val]) => acc[key] = val); return acc; }, {}); console.log(result); 

在JavaScript中,您可以使用Object.assign將對象存儲在鍵/值對中,因為JavaScript不支持關聯數組。 您可以將其用作對象。

 const data = { values: 
              [{ "first(%)": "91.52%" },
               { "second(%)": "98.98%" },
               { "Total(%)": "95.00%" }] };

 const result = { values: Object.assign({}, ...data.values) };

console.log("result",result);

暫無
暫無

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

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