Я пытаюсь взять некоторые данные из существующего объекта и сгруппировать его в новый. Проблема, с которой я столкнулась, - проверить, существует ли ключ объекта, чтобы я мог либо создать новый, либо добавить данные в существующий.
Я нашел несколько похожих вопросов, но ни один из ответов не работал, поэтому я немного застрял. Это всегда заканчивается тем, что он не существует и создает повторяющиеся ключи.
У меня есть следующий код, где xxx
есть где мне нужно проверить, существует ли ключ:
var groups = [];
for (var i=0; i<something.length; i++) {
var group_key = 'group_'+something[i].group_id;
if (xxx) {
// New group
var group_details = {};
group_details[group_key] = {
group_name: something[i].group_name,
items: [
{ 'name': something[i].name }
]
};
groups.push(group_details);
} else {
// Existing group
groups[group_key].items.push({
'name': something[i].name
});
}
}
something
Я проходил мимо, довольно просто, в основном в форме:
[
{
group_id: 3,
group_name: 'Group 3',
name: 'Cat'
},
{
group_id: 3,
group_name: 'Group 3',
name: 'Horse'
},
{
group_id: 5,
group_name: 'Group 5',
name: 'Orange'
}
]