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

时间:2016-12-20 23:05:55

标签: javascript arrays object

据我所知,在Javascript中,我可以创建一个这样的对象:

var cup = {};

此外,我可以设置如下属性:

cup.color = 'Blue';
cup.size = 'Large';
cup.type = 'Mug';

我可以创建一个杯子阵列吗?例如:

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

4 个答案:

答案 0 :(得分:16)

创建数组就像这样简单:

var cups = [];

您可以像这样创建一个填充的数组:

var cups = [
    {
        color:'Blue'
    },
    {
        color:'Green'
    }
];

您可以向数组添加更多项目,如下所示:

cups.push({
    color:"Red"
});

MDN array documentation

答案 1 :(得分:4)

  

数组应该是这样的......

var cup = [];
  

将属性放入数组之后,就像这样

[
  {
    "color": "blue",
    "size": "large",
    "type": "mug"
  }
]
  

你可以把这样的属性......



var cup = [];

cup.push({

   color : 'blue',
   size : 'large',
   type : 'mug'

})

console.log(cup);




答案 2 :(得分:1)

简单地说。

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);

答案 3 :(得分:0)

这样的事情通常就是我所看到的:

var arr = []
for (var n = 0; n < arr.length; n++) {
    arr[n] = {color: null, size: null, type: null}
}

但通常不需要这样的模式,你应该重新考虑你试图解决的问题。