У меня проблема, с которой, похоже, почти нет подсказки, чтобы получить ответ.Javascript: группировка массива объектов по id
Я не знаю, что я делаю неправильно.
Код:
function groupBy(arr, cb) {
var groups = {};
arr.forEach(function(o) {
var group = JSON.stringify(cb(o));
groups[group] = groups[group] || [];
groups[group].push(o);
});
return Object.keys(groups).map(function(group) {
return groups[group];
});
var result = groupBy(arr, function(i) {
return currentObject.branch.id;
})
}
var list = [{
id: "102",
name: "Alice"
}, {
id: "205",
name: "Bob",
title: "Dr."
}, {
id: "592",
name: "Clyde",
age: 32
}];
console.log(groupBy(list, function(i) {
return i.id;
}));
Что он должен вернуть:
{
"102": [{id: "102", name: "Alice"}],
"205": [{id: "205", name: "Bob", title: "Dr."}],
"592": [{id: "592", name: "Clyde", age: 32}]
}
Вы получаете какие-либо ошибки в консоли? Если да, то каковы они и по каким направлениям? – Amy
Вы понимаете, что пытаетесь вызвать 'groupBy' * внутри *' GroupBy'? –
Почему вы рекурсивно называете 'groupBy'? – Timo