首頁 > web前端 > js教程 > 如何使用 Lodash 或純 JavaScript 按鍵有效地將 JavaScript 物件分組?

如何使用 Lodash 或純 JavaScript 按鍵有效地將 JavaScript 物件分組?

Patricia Arquette
發布: 2025-01-04 12:18:38
原創
505 人瀏覽過

How Can I Efficiently Group JavaScript Objects by a Key Using Lodash or Plain JavaScript?

使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板