簡體   English   中英

如何在數組中設置對象?

[英]how can I set my objects in array?

我有很多細節。 我想將它們堆疊在一個數組中,可以嗎?

detailObj = {

    textDetail: "hello this is my text!",
    id: "tooltip_businessDetails"

};

var idArray[0] = detailObg;

是:

var idArray = [
    {
        textDetail: "hello this is my text!",
        id: "tooltip_businessDetails"
    },
    {
        textDetail: "another",
        id: "anotherid"
    },
    // ...and so on
];

或者,如果您已經有指向它們的變量:

var idArray = [detailObj, anotherDetailObj, yetAnotherDetailObj];

您還可以在創建數組后動態地執行此操作:

var idArray = [];
idArray.push(detailObj);
idArray.push({
    textDetail: "another",
    id: "anotherid"
});
idArray.push(yetAnotheretailObj);

只需稍作更改,就可以按照您嘗試的方式進行操作:

var idArray = [];
idArray[0] = detailObj;
idArray[1] = anotherDetailObj;

任何時候設置數組元素時,數組的length屬性都會更新為比設置的元素大一個(如果尚未設置)(因此,如果設置idArray[2] ,則length 3 )。

請注意,JavaScript數組是稀疏的 ,因此您可以分配給idArray[52]而不創建051條目。 實際上,JavaScript數組根本不是數組

而不是這樣做,請使用以下代碼

var arr = [];

arr.push(detailobj);

您可以使用面向對象的方法:

var detail = function(id, text) {
    this.id = id;
    this.text = text;
};

​var arr = [];
arr.push(new detail("myid", "mytext"));

console.log(arr);

我想將它們堆疊在一個數組中,可以嗎?

是的,你可以這么做。 JavaScript中的數組非常靈活,並且可以容納對象。

例:

var myArr = [];
myArr.push(detailObj);

例如:

var idArray = [detailObj1, detailObj2];

另一個 :

var myArray = new Array();
myArray.push(<your object>)
detailObj = {

    textDetail: "hello this is my text!",
    id: "tooltip_businessDetails"

};

var array = [];
for(var key in detailObj) {
   array.push(detailObj[key]);
}
alert(array[0]);

暫無
暫無

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

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