LeetCode/problems/js/group-by.js
Matej Focko d0a6ab210b
problems(js): add “2631. Group By”
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-06-03 20:39:00 +02: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]}
*/