原文出處:https://dev.to/afewminutesofcode/how-to-convert-an-array-into-an-object-in-javascript-25a4
要將陣列轉換為物件,我們將建立一個函數並為其提供 2 個屬性:一個陣列和一個鍵。
const convertArrayToObject = (array, key) => {};
然後,我們將減少陣列,並根據我們傳入的鍵為每個專案建立一個唯一的屬性。
我們還需要記住設定一個初始值,並傳入目前值(...下面的 obj)。
const convertArrayToObject = (array, key) => {
const initialValue = {};
return array.reduce((obj, item) => {
return {
...obj,
[item[key]]: item,
};
}, initialValue);
};
所以現在如果我們註銷我們的函數(傳入陣列和我們的鍵,在本例中是唯一標識符 id 屬性),我們將看到我們的陣列現在是一個物件。
console.log(
convertArrayToObject(
[
{ id: 111, name: 'John', age: 29 },
{ id: 112, name: 'Sarah', age: 25 },
{ id: 122, name: 'Kate', age: 22 },
{ id: 123, name: 'Tom', age: 21 },
{ id: 125, name: 'Emma', age: 24 },
],
'id',
),
);
回報
{
111:{ id: 111, name: 'John', age: 29 },
112:{ id: 112, name: 'Sarah', age: 25 },
122:{ id: 122, name: 'Kate', age: 22 },
123:{ id: 123, name: 'Tom', age: 21 },
125:{ id: 125, name: 'Emma', age: 24 }
}
現在,我們可以輕鬆地透過 id 找到陣列中的資料並根據需要使用它。
如果您正在尋找更多提示或希望在我的下一篇文章發佈時收到通知,請在此處在線關注我: