簡體   English   中英

在Javascript中創建對象數組的最佳方法是什么?

[英]What is the best way to create an array of objects in Javascript?

據我所知,在Javascript中,我可以創建一個這樣的對象:

var cup = {};

此外,我可以設置這樣的屬性:

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

我可以創建一系列杯子嗎? 例如:

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

創建數組就像這樣簡單:

var cups = [];

您可以像這樣創建一個填充的數組:

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

您可以向數組中添加更多項目,如下所示:

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

MDN陣列文檔

數組應該是這樣的......

var cup = [];

在我們將屬性放入數組后,它將是這樣的

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

你可以把這樣的屬性..

 var cup = []; cup.push({ color : 'blue', size : 'large', type : 'mug' }) console.log(cup); 

這樣的事情通常是我看到的:

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

但通常這種模式不是必需的,你應該重新考慮你試圖解決的問題。

簡單的說。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM