JavaScript Map.groupBy()
示例
// 建立一個數組
const fruits = [
{name:"apples", quantity:300},
{name:"bananas", quantity:500},
{name:"oranges", quantity:200},
{name:"kiwi", quantity:150}
];
// Callback function to Group Elements
function myCallback({ quantity }) {
return quantity > 200 ? "ok" : "low";
}
// Group by Quantity
const result = Map.groupBy(fruits, myCallback);
自己動手試一試 »
描述
Map.groupBy()
方法根據回撥函式返回的字串值對物件的元素進行分組。
Map.groupBy()
方法不會更改原始物件。
注意
原始物件中的元素和返回物件中的元素是相同的。
更改將同時反映在原始物件和返回物件中。
Object.groupBy() vs Map.groupBy()
Object.groupBy() 和 Map.groupBy() 之間的區別是
Object.groupBy() 將元素分組到 JavaScript 物件中。
Map.groupBy() 將元素分組到 Map 物件中。
語法
Map.groupBy(iterable, callback)
引數
引數 | 描述 |
iterable | 必需。 一個可迭代的陣列或對映。 |
callback | 必需。 為每個元素執行的函式。 該函式應為元素返回一個組名。 |
返回值
型別 | 描述 |
物件 | 一個包含分組元素的 Map 物件。 |
瀏覽器支援
Map.groupby()
是 ES2024 功能。
自 2024 年 3 月起,所有現代瀏覽器均已完全支援。
Chrome 117 | Edge 117 | Firefox 119 | Safari 17.4 | Opera 103 |
2023 年 9 月 | 2023 年 9 月 | 2023 年 10 月 | 2024 年 10 月 | 2023 年 5 月 |