-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-enumeration はキーの順序を保証しないことに注意してください。

于 2012-12-06T19:05:22.740 に答える