Javascript - 对象文字 - 迭代

时间:2012-12-06 18:58:19

标签: javascript

我正在尝试创建一个包含字母:数字对的对象。我计划创建函数来检索字母(如果给出一个数字)和给出字母的数字。在我能够达到目标之前,我对这个目标失败了。

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]);
  }

输出无效。
我的对象创建不正确吗?任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:1)

代码应该可以工作,只需要在它之后需要另一个右括号(})。检查错误控制台。顺便说一句,你真的应该能够省略hasOwnProperty检查,因为你的普通对象不会继承Object.prototype的任何可枚举属性。

除此之外,你可以编写更短的代码:

for (var charCode = 65; charCode < 91; charCode++)
    document.write("letters = " + String.fromCharCode(charCode) +
                   " numbers = " + (charCode-64) );

另请注意,for-in-enumeration不保证密钥的任何订单。