Skip to content

Commit 3c60723

Browse files
authored
group list by
1 parent 5e0e248 commit 3c60723

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

group by

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
function groupBy(obj, key) {
2+
const values = obj instanceof Map || obj instanceof Set
3+
? Array.from(obj.values())
4+
: Object.values(obj);
5+
6+
return values.reduce((keyedObj, value) => {
7+
const groupKey = value[key];
8+
if(!Array.isArray(keyedObj[groupKey])) {
9+
keyedObj[groupKey] = [value];
10+
} else {
11+
keyedObj[groupKey].push(value);
12+
}
13+
14+
return keyedObj;
15+
}, {});
16+
}

0 commit comments

Comments
 (0)