我想用JavaScript创建一个字典,如下所示:
myMappings = [
{ "Name": 10%},
{ "Phone": 10%},
{ "Address": 50%},
{ "Zip": 10%},
{ "Comments": 20%}
]
我想稍后填充一个HTML表,并希望将表的标题设置为myMappings的第一列,将列的宽度设置为第二列。有没有一种干净利落的方法?
发布于 2011-04-21 23:19:29
另一种方法是有一个对象数组,每个单独的对象保存一个列的属性。这稍微改变了"myMappings“的结构,但使其易于使用:
var myMappings = [
{ title: "Name", width: "10%" },
{ title: "Phone", width: "10%" },
{ title: "Address", width: "50%" },
{ title: "Zip", width: "10%" },
{ title: "Comments", width: "20%" }
];
然后,您可以使用for循环轻松地遍历所有“列”:
for (var i = 0; i < myMappings.length; i += 1) {
// myMappings[i].title ...
// myMappings[i].width ...
}
发布于 2011-04-21 23:10:26
您可能正在尝试使用JSON对象:
var myMappings = { "name": "10%", "phone": "10%", "address": "50%", etc.. }
要访问:
myMappings.name;
myMappings.phone;
etc..
发布于 2014-12-10 14:57:49
从技术上讲,对象是一个字典。
var myMappings = {
mykey1: 'myValue',
mykey2: 'myValue'
};
var myVal = myMappings['myKey1'];
alert(myVal); // myValue
您甚至可以遍历一个。
for(var key in myMappings) {
var myVal = myMappings[key];
alert(myVal);
}
没有任何理由去重新发明轮子。当然,赋值是这样的:
myMappings['mykey3'] = 'my value';
和ContainsKey:
if (myMappings.hasOwnProperty('myKey3')) {
alert('key already exists!');
}
我建议你遵循这个:http://javascriptissexy.com/how-to-learn-javascript-properly/
https://stackoverflow.com/questions/5745960
复制相似问题