如何將陣列轉換為物件
將陣列轉換為物件可能看起來是一個簡單的操作,但有幾種方法根據所需的結果來實現這一點。
考慮下列任務:轉換陣列['a','b','c'] 到有數字鍵的物件:
{ 0: 'a', 1: 'b', 2: 'c' }
ES6 Object.assign()
現代瀏覽器支援Object.assign(),可以方便地將一個或多個來源物件的可枚舉屬性複製到目標object:
Object.assign({}, ['a','b','c']); // {0:"a", 1:"b", 2:"c"}
請注意,陣列的length 屬性不會被複製,因為預設情況下它不可枚舉。
ES8 Spread 語法
ES8 的spread運算子也可用於將陣列元素展開到object:
{ ...['a', 'b', 'c'] }
自訂鍵分配
對於更複雜的場景,使用reduce結合自訂鍵轉換函數可以達到預期的結果:
['a', 'b', 'c'].reduce((a, v) => ({ ...a, [v]: v}), {}) // { a: "a", b: "b", c: "c" }
每種方法都有自己的優點和權衡。 Object.assign() 和擴充語法簡單明了,而reduce 在處理自訂鍵或轉換時提供了更大的靈活性。
以上是如何在 JavaScript 中將陣列轉換為物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!