首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >带名称的JavaScript字典

带名称的JavaScript字典
EN

Stack Overflow用户
提问于 2011-04-21 23:05:36
回答 6查看 165.9K关注 0票数 57

我想用JavaScript创建一个字典,如下所示:

代码语言:javascript
复制
myMappings = [
    { "Name": 10%},
    { "Phone": 10%},
    { "Address": 50%},
    { "Zip": 10%},
    { "Comments": 20%}
]

我想稍后填充一个HTML表,并希望将表的标题设置为myMappings的第一列,将列的宽度设置为第二列。有没有一种干净利落的方法?

EN

回答 6

Stack Overflow用户

发布于 2011-04-21 23:19:29

另一种方法是有一个对象数组,每个单独的对象保存一个列的属性。这稍微改变了"myMappings“的结构,但使其易于使用:

代码语言:javascript
复制
var myMappings = [
    { title: "Name", width: "10%" },
    { title: "Phone", width: "10%" },
    { title: "Address", width: "50%" },
    { title: "Zip", width: "10%" },
    { title: "Comments", width: "20%" }
];

然后,您可以使用for循环轻松地遍历所有“列”:

代码语言:javascript
复制
for (var i = 0; i < myMappings.length; i += 1) {
    // myMappings[i].title ...
    // myMappings[i].width ...
}
票数 69
EN

Stack Overflow用户

发布于 2011-04-21 23:10:26

您可能正在尝试使用JSON对象:

代码语言:javascript
复制
var myMappings = { "name": "10%", "phone": "10%", "address": "50%", etc.. }

要访问:

代码语言:javascript
复制
myMappings.name;
myMappings.phone;
etc..
票数 22
EN

Stack Overflow用户

发布于 2014-12-10 14:57:49

从技术上讲,对象是一个字典。

代码语言:javascript
复制
var myMappings = {
    mykey1: 'myValue',
    mykey2: 'myValue'
};

var myVal = myMappings['myKey1'];

alert(myVal); // myValue

您甚至可以遍历一个。

代码语言:javascript
复制
for(var key in myMappings) {
    var myVal = myMappings[key];
    alert(myVal);
}

没有任何理由去重新发明轮子。当然,赋值是这样的:

代码语言:javascript
复制
myMappings['mykey3'] = 'my value';

和ContainsKey:

代码语言:javascript
复制
if (myMappings.hasOwnProperty('myKey3')) {
    alert('key already exists!');
}

我建议你遵循这个:http://javascriptissexy.com/how-to-learn-javascript-properly/

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5745960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档