JavaScript 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);亲自试一试 »描述
Map.groupBy() 方法根据回调函数返回的字符串值对对象的元素进行分组。
Map.groupBy() 方法不会更改原始对象。
注意:
原始对象和返回对象中的元素相同。
更改将同时反映在原始对象和返回对象中。
Object.groupBy() 与 Map.groupBy()
Object.groupBy() 和 Map.groupBy() 的区别在于:
Object.groupBy() 将元素分组到一个 JavaScript 对象中。
Map.groupBy() 将元素分组到一个 Map 对象中。
语法
Map.groupBy(iterable, callback)
参数
| 参数 | 描述 |
| iterable | 必需。 可迭代数组或映射。 |
| callback | 必需。 要对每个元素执行的函数。 该函数应返回元素的组名。 |
返回值
| 类型 | 描述 |
| Object | 包含分组元素的 Map 对象。 |
浏览器支持
Map.groupby() 是 JavaScript 2024 的一项特性。
ES 2024 自 2024 年 3 月起,所有现代浏览器均已完全支持 ES 2024。
| Chrome 117 |
Edge 117 |
Firefox 119 |
Safari 17.4 |
Opera 103 |
| 2023年9月 | 2023年9月 | 2023年10月 | 2024年10月 | 2023年5月 |
