我是新來jquery.I要創建這樣jQuery的創建二維和三維陣列
var pos=[];
pos['div1']['left']=200;
pos['div2']['left']=400;
pos['div3']['left']=600;
我是新來jquery.I要創建這樣jQuery的創建二維和三維陣列
var pos=[];
pos['div1']['left']=200;
pos['div2']['left']=400;
pos['div3']['left']=600;
的代碼嘗試使用數組一樣的關聯數組的數組。
當使用語法pos['div1']['left']
時,解釋器需要擁有div1屬性的對象,該屬性具有左屬性。這與嚴格使用整數索引的正常數組完全不同。普通數組不允許使用Strings
來訪問數組的元素。
另一方面,關聯數組或對象提供了這種靈活性。它們還允許將對象嵌套在對象中。我相信這個數據結構將更好地適合您的需要:
//Initial Object
var pos={};
//assign an object with a left property to the property div1 on the pos object
pos.div1 = {left:200};
pos.div2 = {left:400};
pos.div3 = {left:600};
alert(pos.div1.left);
//This data structure could be declared as one object literal upfront
var pos2 = {
div1: {
left: 200
},
div2: {
left: 400
},
div3: {
left: 600
}
};
alert(pos.div2.left);
//You could also make an array of objects for easier iteration
var pos3 = [
{
name: "div1",
left: 200
},{
name: "div2",
left: 400
},{
name: "div3",
left: 600
}
];
alert(pos3[2].name);
你問這個場景是不是看上去像一個multi-dimensional
陣列,
但你仍然可以實現你的需求改變你的代碼,這樣
var pos= {'div1' :
{'left' : 200},
'div2' :
{'left' : 400}
.
.
.
};
,您可以通過訪問它,
alert(pos.div1.left) //200
謝謝弟弟,節省了我的時間 –
@deepu很高興能幫到你。 –