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'
    }
]

questionAnswers(6)

yourAnswerToTheQuestion