按鍵將陣列中的物件分組
在程式設計中,經常需要根據共享鍵將陣列中的物件分組。以以下汽車物件陣列為例:
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' }, ];
目標是建立一個新數組,其中汽車物件以 make 分組。使用普通 JavaScript,一種方法是使用 Array#reduce 方法和一個物件:
const result = cars.reduce((r, a) => { r[a.make] = r[a.make] || []; r[a.make].push(a); return r; }, Object.create(null)); console.log(result);
此程式碼迭代 cars 陣列並檢查當前 make 是否作為結果物件中的鍵存在。如果沒有,它將添加 make 作為鍵並初始化空數組。然後,它將當前汽車物件推入相應的數組,並按品牌對物件進行有效分組。
產生的結果物件的結構如下:
{ 'audi': [ { 'model': 'r8', 'year': '2012' }, { 'model': 'rs5', 'year': '2013' }, ], 'ford': [ { 'model': 'mustang', 'year': '2012' }, { 'model': 'fusion', 'year': '2015' } ], 'kia': [ { 'model': 'optima', 'year': '2012' } ] }
以上是如何透過共用金鑰對 JavaScript 陣列中的物件進行分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!