Sprawdź, czy klucz obiektu istnieje w tablicy
Próbuję pobrać niektóre dane z istniejącego obiektu i zgrupować je w nowy. Problem, który mam, to sprawdzenie, czy klucz obiektu istnieje, abym mógł utworzyć nowy lub dołączyć dane do istniejącego.
Znalazłem kilka podobnych pytań, ale żadna z odpowiedzi nie zadziałała, więc trochę utknąłem. Zawsze kończy się znalezieniem, że nie istnieje i tworzeniem duplikatów kluczy.
Mam następujący kod, gdziexxx
gdzie muszę sprawdzić, czy klucz istnieje:
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
});
}
}
Thesomething
Przechodzę, jest całkiem prosta, zasadniczo w formie:
[
{
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'
}
]