我正在尝试创建一个包含字母:数字对的对象。我计划创建函数来检索字母(如果给出一个数字)和给出字母的数字。在我能够达到目标之前,我对这个目标失败了。
var letterList = {
A : 1,
B : 2,
C : 3,
D : 4,
E : 5,
F : 6,
G : 7,
H : 8,
I : 9,
J : 10,
K : 11,
L : 12,
M : 13,
N : 14,
O : 15,
P : 16,
Q : 17,
R : 18,
S : 19,
T : 20,
U : 21,
V : 22,
W : 23,
X : 24,
Y : 25,
Z : 26
};
for (x in letterList) {
if (letterList.hasOwnProperty(x)) {
document.write("letters = " + x + " numbers = " + letterList[x]);
}
输出无效。
我的对象创建不正确吗?任何建议都表示赞赏。
答案 0 :(得分:1)
代码应该可以工作,只需要在它之后需要另一个右括号(}
)。检查错误控制台。顺便说一句,你真的应该能够省略hasOwnProperty
检查,因为你的普通对象不会继承Object.prototype
的任何可枚举属性。
除此之外,你可以编写更短的代码:
for (var charCode = 65; charCode < 91; charCode++)
document.write("letters = " + String.fromCharCode(charCode) +
" numbers = " + (charCode-64) );
另请注意,for-in-enumeration不保证密钥的任何订单。