首頁 >web前端 >js教程 >Lodash 的 `_.groupBy` 函數如何按鍵有效率地對物件陣列進行分組?

Lodash 的 `_.groupBy` 函數如何按鍵有效率地對物件陣列進行分組?

Barbara Streisand
Barbara Streisand原創
2024-12-20 04:52:13405瀏覽

How Can Lodash's `_.groupBy` Function Efficiently Group Arrays of Objects by Key?

使用Lodash 按鍵對數組中的對象進行分組:實用指南

簡介

在各種程式設計場景中,以有組織的方式對資料進行分組通常是一項關鍵任務。當處理物件數組時,有必要根據特定屬性對元素進行分組。 Lodash 是一個流行的 JavaScript 函式庫,提供了一種強大的方法來實現這一目標。

Lodash 解決方案

Lodash 提供了一個名為 _.groupBy 的便捷方法,允許您對按指定鍵的物件數組。用法很簡單:

const groupedCars = _.groupBy(cars, 'make');

這將建立一個新的物件 groupedCars,其中每個鍵對應於 cars 陣列中 make 屬性的唯一值。每個鍵的值是共享相同 make 值的物件陣列。

實現

讓我們考慮查詢中提供的示例,其中我們有一個數組汽車對象並希望按品牌對它們進行分組:

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' },
];

使用Lodash 的_.groupBy方法,我們可以建立所需的分組對象,如下所示:

const groupedCars = _.groupBy(cars, 'make');

產生的 groupedCars 物件將是:

{
  audi: [
    { model: 'r8', year: '2012' },
    { model: 'rs5', year: '2013' },
  ],
  ford: [
    { model: 'mustang', year: '2012' },
    { model: 'fusion', year: '2015' },
  ],
  kia: [
    { model: 'optima', year: '2012' },
  ],
}

以上是Lodash 的 `_.groupBy` 函數如何按鍵有效率地對物件陣列進行分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn