我是 jquery 的新手。我想创建一个这样的数组
var pos=[];
pos['div1']['left']=200;
pos['div2']['left']=400;
pos['div3']['left']=600;
该代码试图使用像关联数组这样的数组。
使用语法时pos['div1']['left']
,解释器期望对象拥有 div1 属性,该属性具有 left 属性。这与严格使用整数作为索引的普通数组完全不同。普通数组不允许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);
JS 小提琴:http: //jsfiddle.net/u9QXs/
你问的场景看起来不像一个multi-dimensional
数组,
但你仍然可以通过像这样更改代码来满足你的需求
var pos= {'div1' :
{'left' : 200},
'div2' :
{'left' : 400}
.
.
.
};
您可以通过以下方式访问它,
alert(pos.div1.left) //200