使用JavaScript 和Lodash 按鍵將物件分組
根據特定鍵將物件分組是處理資料數組時的常見任務。透過對共享公共屬性的物件進行分組,我們可以更有效地組織和存取它們。
在純 JavaScript 中實現此目的的一種方法是使用 Array#reduce 方法。以下程式碼片段說明如何操作:
const cars = [{ make: 'audi', model: 'r8', year: '2012' }, { make: 'audi', model: 'rs5', year: '2013' }, { make: 'ford', model: 'mustang', year: '2012' }, { make: 'ford', model: 'fusion', year: '2015' }, { make: 'kia', model: 'optima', year: '2012' }]; const result = cars.reduce(function (r, a) { r[a.make] = r[a.make] || []; r[a.make].push(a); return r; }, {}); console.log(result);
此程式碼使用 make 屬性作為分組鍵。它迭代汽車數組並創建一個新對象,其鍵對應於唯一的 make 值。對於每個品牌,它都會建立或附加一個共享該品牌的汽車物件陣列。
Lodash 也提供了一種使用 _.groupBy 函數對物件進行分組的簡潔方法:
import { groupBy } from 'lodash'; const grouped = groupBy(cars, 'make');
groupBy函數接受兩個參數:物件陣列和分組依據的屬性。它傳回一個新對象,其中的鍵對應於指定屬性的唯一值,值對應於共用該值的對象陣列。
透過按鍵將物件分組,我們可以輕鬆存取相關資料並執行操作具有相似特徵的物件群組。該技術對於優化資料檢索、過濾和資料視覺化特別有用。
以上是如何使用 Lodash 或純 JavaScript 按鍵有效地將 JavaScript 物件分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!