首頁 >web前端 >js教程 >如何在 JavaScript 中將物件陣列轉換為具有鍵值對的單一物件?

如何在 JavaScript 中將物件陣列轉換為具有鍵值對的單一物件?

Susan Sarandon
Susan Sarandon原創
2024-11-11 11:03:02922瀏覽

How do I convert an array of objects to a single object with key-value pairs in JavaScript?

在JavaScript 中將物件陣列轉換為具有鍵值對的物件

在JavaScript 中將物件陣列轉換為具有鍵值對的單一物件需要使用進階的數組操作技術。讓我們探索如何以瀏覽器相容的方式實現這一目標。

首先,讓我們了解輸入數組的結構:

var arr = [{"name1":"value1"},{"name2":"value2"},...];

該數組包含多個對象,每個對像都有一個鍵-值對。我們的目標是建立一個對象,合併數組中所有對象的鍵值對。

使用 Object.assign() 和 Spread 語法

最現代且與瀏覽器相容的解決方案是使用 Object.assign() 方法以及展開語法 (...)。 Object.assign() 將多個來源物件的屬性合併到一個目標物件中。在 arr 數組上使用擴展語法允許我們將其展平,將所有物件合併到一個來源中。

var array = [{ name1: "value1" }, { name2: "value2" }],
    object = Object.assign({}, ...array);

console.log(object); // {name1: "value1", name2: "value2"}

在此範例中,Object.assign() 透過合併一個物件來建立一個新物件(object)空物件{} 以及由展開語法建立的展平數組(...array) 。這會將 arr 數組中物件的所有鍵值對組合成一個物件。

對舊版瀏覽器的支援

如果您需要支援沒有 Object.assign( 的舊版瀏覽器) ) 或擴充語法,您可以使用 polyfill 來提供這些方法。此外,還有其他替代方法,例如使用 reduce() 或 for 循環,來實現相同的結果。然而,這些方法可能效率較低或需要更多程式碼。

以上是如何在 JavaScript 中將物件陣列轉換為具有鍵值對的單一物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn