problems(js): add “2631. Group By”

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2023-06-03 20:39:00 +02:00
parent 817d40aa95
commit d0a6ab210b
Signed by: mfocko
GPG key ID: 7C47D46246790496

23
problems/js/group-by.js Normal file
View file

@ -0,0 +1,23 @@
/**
* @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]}
*/