LeetCode/js/group-by.js
Matej Focko 2351dfd0ee
chore: unwrap one layer
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-12-12 14:36:00 +01:00

23 lines
395 B
JavaScript

/**
* @param {Function} fn
* @return {Array}
*/
Array.prototype.groupBy = function(fn) {
let grouped = new Object();
for (let x of this) {
let key = fn(x);
if (grouped[key] === undefined) {
grouped[key] = new Array();
}
grouped[key].push(x);
}
return grouped;
};
/**
* [1,2,3].groupBy(String) // {"1":[1],"2":[2],"3":[3]}
*/