在Javascript中创建对象数组的最佳方法是什么?

在Javascript中创建对象数组的最佳方法是什么?,javascript,arrays,object,Javascript,Arrays,Object,我知道在Javascript中,我可以创建如下对象: var cup = {}; var cups = [ { color:'Blue' }, { color:'Green' } ]; cups.push({ color:"Red" }); 此外,我可以设置如下属性: cup.color = 'Blue'; cup.size = 'Large'; cup.type = 'Mug'; 我可以创建一组杯子吗?例如: cu

我知道在Javascript中,我可以创建如下对象:

var cup = {};
var cups = [
    {
        color:'Blue'
    },
    {
        color:'Green'
    }
];
cups.push({
    color:"Red"
});
此外,我可以设置如下属性:

cup.color = 'Blue';
cup.size = 'Large';
cup.type = 'Mug';
我可以创建一组杯子吗?例如:

cup[0].color = 'Blue';
cup[1].size = 'Large';
cup[2].type = 'Mug';

创建阵列非常简单,如下所示:

var cups = [];
您可以创建一个填充的数组,如下所示:

var cup = {};
var cups = [
    {
        color:'Blue'
    },
    {
        color:'Green'
    }
];
cups.push({
    color:"Red"
});
您可以向数组中添加更多项,如下所示:

var cup = {};
var cups = [
    {
        color:'Blue'
    },
    {
        color:'Green'
    }
];
cups.push({
    color:"Red"
});

我通常会看到这样的情况:

var arr = []
for (var n = 0; n < arr.length; n++) {
    arr[n] = {color: null, size: null, type: null}
}
var arr=[]
对于(变量n=0;n
但通常这样的模式是不必要的,你应该重新考虑你试图解决的问题。

简单地说

cup[0].color = 'Blue';
cup[1].size = 'Large';
cup[2].type = 'Mug';
在JS中,这将导致一个嵌套对象,一个包含其他对象的对象

cup = {
    0: {
       color: 'Blue'
    },
    1: {
       size: 'Large'
    },
    2: {
       color: 'Mug'
    }
}
如果要创建对象数组,可以执行。。正如@wachkozaco所说

var cup = [{color:'Blue',size:'Large',type:'Mug'},{color:'Red',size:'S‌​mall',type:'Cup'}]
或者更直观地说

var cup = [];
var obj = {color: 'Red', size: 'small', type: 'Cup'};
cup[0] = obj; // also cup.push(obj);
数组应该是这样的


在我们将属性放入数组之后,它将是这样的


你可以把这样的属性

var-cup=[];
杯推({
颜色:“蓝色”,
尺寸:'大',
类型:“马克杯”
})

原木(杯)这将是一个对象数组<代码>var cups=[{color:'Blue',size:'Large',type:'Mug'},{color:'Red',size:'Small',type:'Glass'}]
完美!正是我想要的。“W3”是非常误导的,请参考语言规范或示例和支持。