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 月 |