А
Size: a a a
А
x
const id = x => x;
const groupBy = (items, fn = id) => {
const res = {};
items.forEach(i => {
const key = fn(i);
res[key] = res[key] || [];
res[key].push(i);
});
return res;
};
groupBy([0, 1, 2, 3], n => n % 2) -> { 0: [0, 2], 1: [1, 3] }
const groupBy = (items, fn = id) => {
return items.reduce((acc, v) => {
const key = fn(v)
acc[key] = acc[key] || [];
acc[key].push(v);
return acc
}, {})
}
I
const groupBy = (items, fn = id) => {
return items.reduce((acc, v) => {
const key = fn(v)
acc[key] = acc[key] || [];
acc[key].push(v);
return acc
}, {})
}
AY
const groupBy = (items, fn = id) => {
return items.reduce((acc, v) => {
const key = fn(v)
acc[key] = acc[key] || [];
acc[key].push(v);
return acc
}, {})
}
AY
AY
А
А
А
AY
AY
x
x
x
А
EC
const groupBy = (items, fn = x => x) => {
let res = {};
res = new Proxy(res, {
set(trg, prop, val) {
return prop in trg ? trg[prop].push(val) : (trg[prop] = []).push(val);
}
});
items.forEach(i => {
res[fn(i)] = i;
});
return res;
};
V