-1

我正在尝试创建一个包含字母:数字对的对象。我计划创建函数来检索给定数字的字母和给定字母的数字。在我能走到那一步之前,我在这个对象上失败了。

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

输出什么都没有。
我的对象创建不正确吗?任何建议表示赞赏。

4

1 回答 1

1

代码应该可以工作,只是它后面需要另一个右大括号 ( })。检查您的错误控制台。顺便说一句,你真的应该能够省略hasOwnProperty检查,因为你的普通对象不会从Object.prototype.

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

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

另请注意,枚举中的 for-in 不保证键的任何顺序。

于 2012-12-06T19:05:22.740 回答