JavaScript Map.groupBy()

定義和用法

Map.groupBy() 方法根據回調函數返回的字符串值對對象的元素進行分組。

Map.groupBy() 方法不會改變原始對象。

實例

// 創建一個數組
const fruits = [
  {name:"apples", quantity:300},
  {name:"bananas", quantity:500},
  {name:"oranges", quantity:200},
  {name:"kiwi", quantity:150}
];
// 用于分組元素的回調函數
function myCallback({ quantity }) {
  return quantity > 200 ? "ok" : "low";
}
// 根據數量分組
const result = Map.groupBy(fruits, myCallback);

親自試一試

注意

原始對象和返回對象中的元素是相同的。

對任一對象的更改都會反映在另一個對象中。

Object.groupBy() 與 Map.groupBy() 的區別

Object.groupBy()Map.groupBy() 的區別在于:

Object.groupBy() 將元素分組到一個 JavaScript 對象中。

Map.groupBy() 將元素分組到一個 Map 對象中。

語法

Map.groupBy(iterable, callback)

參數

參數 描述
iterable 必需。可迭代的數組或 Map。
callback

必需。為每個元素執行的函數。

該函數應返回元素的分組名稱。

返回值

類型 描述
Object 包含分組元素的 Map 對象。

瀏覽器支持

Map.groupBy() 是 ES2024 的特性。

自 2024 年 3 月起,所有現代瀏覽器均完全支持:

Chrome Edge Firefox Safari Opera
Chrome 117 Edge 117 Firefox 119 Safari 17.4 Opera 103
2023 年 9 月 2023 年 9 月 2023 年 10 月 2024 年 10 月 2023 年 5 月