如何在数组中设置对象?

时间:2012-06-19 14:24:33

标签: javascript jquery

我有很多细节。我想将它们堆叠在一个数组中,我可以这样做吗?

detailObj = {

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

};

var idArray[0] = detailObg;

7 个答案:

答案 0 :(得分:7)

是:

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],{{1变成length)。

请注意,JavaScript数组稀疏,因此您可以分配到3而无需为idArray[52]0创建条目。实际上,JavaScript数组aren't really arrays at all

答案 1 :(得分:3)

而不是使用下面的代码

var arr = [];

arr.push(detailobj);

答案 2 :(得分:2)

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

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

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

console.log(arr);

答案 3 :(得分:0)

  

我想将它们堆叠在一个数组中,我可以这样做吗?

是的,你可以这样做。 JavaScript中的数组是灵活的,也可以保存对象。

示例:

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

答案 4 :(得分:0)

例如:

var idArray = [detailObj1, detailObj2];

答案 5 :(得分:0)

另一个:

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

答案 6 :(得分:0)

detailObj = {

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

};

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