使用OOP js推入数组

git*_*mon -2 javascript oop jquery frontend

数组:

var cake = {
    selectors : {
        '.this-is-a-class' : {
            type:'color'
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

推动:

cake.push({
    selectors: {
        '.cake-in-orlando' : {
            color : 'red'
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

错误:

未捕获的TypeError:cake.push不是函数

Tap*_*lar 5

正如其他人所提到的,您的变量不包含数组.它包含一个具有嵌套对象的对象. {}是javascript中的对象语法. []是javascript中的数组语法,定义变量值时.

既然你没有更新你的问题以澄清你希望这样做的方式,成为一个真正的数组或按原样使用该对象,我将提供两者的版本.

阵列版本

此版本使用一个实数组,包含带有选择键的对象和带有类型和颜色值的键的子对象的值

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

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

console.log(cake);
Run Code Online (Sandbox Code Playgroud)

对象版本

此版本使用原始对象,并将新的"选择器"添加到现有的"选择器"子对象.

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


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

console.log( cake );
Run Code Online (Sandbox Code Playgroud)