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

cle*_*aul 6 javascript arrays object

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

var cup = {};
Run Code Online (Sandbox Code Playgroud)

此外,我可以设置这样的属性:

cup.color = 'Blue';
cup.size = 'Large';
cup.type = 'Mug';
Run Code Online (Sandbox Code Playgroud)

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

cup[0].color = 'Blue';
cup[1].size = 'Large';
cup[2].type = 'Mug';
Run Code Online (Sandbox Code Playgroud)

Wil*_* P. 17

创建数组就像这样简单:

var cups = [];
Run Code Online (Sandbox Code Playgroud)

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

var cups = [
    {
        color:'Blue'
    },
    {
        color:'Green'
    }
];
Run Code Online (Sandbox Code Playgroud)

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

cups.push({
    color:"Red"
});
Run Code Online (Sandbox Code Playgroud)

MDN阵列文档

  • "W3"非常具有误导性,请参考语言规范或[*MDN*](https://developer.mozilla.org/en-US/docs/Glossary/array)以获取示例和支持. (2认同)

Min*_*ato 5

简单的说。

cup[0].color = 'Blue';
cup[1].size = 'Large';
cup[2].type = 'Mug';
Run Code Online (Sandbox Code Playgroud)

在 JS 中,这将导致作为嵌套对象,一个包含其他对象的对象

cup = {
    0: {
       color: 'Blue'
    },
    1: {
       size: 'Large'
    },
    2: {
       color: 'Mug'
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你想创建对象数组,你可以做..正如@wachkozaco所说。

var cup = [{color:'Blue',size:'Large',type:'Mug'},{color:'Red',size:'S??mall',type:'Cup'}]
Run Code Online (Sandbox Code Playgroud)

或更直观

var cup = [];
var obj = {color: 'Red', size: 'small', type: 'Cup'};
cup[0] = obj; // also cup.push(obj);
Run Code Online (Sandbox Code Playgroud)


Dar*_*hum 5

数组应该是这样的...

var cup = [];
Run Code Online (Sandbox Code Playgroud)

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

[
  {
    "color": "blue",
    "size": "large",
    "type": "mug"
  }
]
Run Code Online (Sandbox Code Playgroud)

您可以放置​​这样的属性。