我有很多细节。我想将它们堆叠在一个数组中,我可以这样做吗?
detailObj = {
textDetail: "hello this is my text!",
id: "tooltip_businessDetails"
};
var idArray[0] = detailObg;
答案 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]);