Вставка в массив с ООП JS - PullRequest
       2

Вставка в массив с ООП JS

0 голосов
/ 07 сентября 2018

Массив:

var cake = {
    selectors : {
        '.this-is-a-class' : {
            type:'color'
        }
    }
};

Толчок:

cake.push({
    selectors: {
        '.cake-in-orlando' : {
            color : 'red'
        }
    }
});

Ошибка:

Uncaught TypeError: cake.push не является функцией

1 Ответ

0 голосов
/ 07 сентября 2018

Как уже упоминали другие, ваша переменная не содержит массив. Он содержит объект с вложенными объектами. {} - это синтаксис объекта в javascript. [] - это синтаксис массива в javascript при определении значения переменной.

Поскольку вы не обновили свой вопрос, чтобы уточнить, каким образом вы хотите, чтобы это происходило, быть реальным массивом или использовать объект как есть, я предоставлю версию обоих.

Версия массива

В этой версии используется реальный массив, содержащий объект с ключом выбора и значение подобъекта с ключом типа и значением цвета

var cake = [
    {
        '.this-is-a-class' : {
            type:'color'
        }
    }
];

cake.push({
    '.cake-in-orlando' : {
        color : 'red'
    }
});

console.log(cake);

Версия объекта

Эта версия использует исходный объект и добавляет новый «селектор» к существующему подобъекту «селекторы».

var cake = {
    selectors : {
        '.this-is-a-class' : {
            type:'color'
        }
    }
};


cake.selectors['.cake-in-orlando'] = { color : 'red' };

console.log( cake );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...