首頁 >web前端 >js教程 >如何使用「reduce()」方法按鍵將 JavaScript 物件分組?

如何使用「reduce()」方法按鍵將 JavaScript 物件分組?

Linda Hamilton
Linda Hamilton原創
2024-12-21 02:32:09778瀏覽

How Can I Group JavaScript Objects by Key Using the `reduce()` Method?

使用JavaScript 按鍵將物件分組

按特定鍵將物件陣列分組是程式設計中常見的任務,尤其是在使用數據集。實現此目的的一種有效方法是透過 reduce() 方法。

在 JavaScript中,您可以按照以下步驟操作:

  1. 聲明一個物件數組:假設您有一個汽車物件數組,類似於問題:
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' },
];
  1. 初始化一個物件作為累加器:建立一個空對象,作為reduce()方法的累加器。該物件將儲存分組的值。
const groupedCars = {};
  1. 使用reduce()迭代數組:在 cars 數組上使用reduce()方法迭代每個物件。 reduce() 函數採用兩個參數:
  • accumulator: 步驟 2 建立的物件。
  • currentElement:目前正在迭代的物件
  1. 將物件加入累加器:在reduce()方法中,檢查目前的make屬性是否作為累加器物件中的屬性存在。如果不存在,則在該屬性處建立一個新數組。然後,將 currentElement 推入創建的數組中。此過程根據物件的品牌有效地對物件進行分組。
const groupedCars = cars.reduce((accumulator, currentElement) => {
  const make = currentElement.make;

  if (!accumulator[make]) {
    accumulator[make] = [];
  }

  accumulator[make].push(currentElement);

  return accumulator;
}, {});
  1. 傳回分組的物件:reduce() 方法傳回累積的對象,其中包含分組的物件
  2. 記錄分組結果:您可以將分組物件記錄到控制台驗證輸出。
console.log(groupedCars);

此方法使用 vanilla JavaScript 並提供一種結構化方法,根據指定的鍵對物件進行分組,並使用分組值建立新物件。

以上是如何使用「reduce()」方法按鍵將 JavaScript 物件分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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