• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:for in  [javascript] 使い方)

for in [javascript] 使い方

このQ&Aのポイント
  • オブジェクトの内容を取り出す方法
  • 指定したオブジェクトの要素を順番に取り出す方法
  • 名前と電話番号の出力方法

質問者が選んだベストアンサー

  • ベストアンサー
  • tracer
  • ベストアンサー率41% (255/621)
回答No.3

なるほどー。 問題の意図がわかりました。 実際は例題のような構造のオブジェクトはあり得ません。(特にkeyに全角を用いるあたりが) この問題はfor inを理解しているかどうかのテストなので、ちょっと強引な構造なのかもしれませんね。 で、これ課題でしょうから、答えはご自身で発見された方がいいですよ。 その方が理解が深まります。 今更ですが、ヒントだけ言いますね。 以下の点に着目してください。 1. for inの中で使用する変数iには、実際は何が入ってくるのか探ってください。 alertとかconsole.logとかで簡単に監視できますよね? 2. 電話番号を取得できているには理由があります。 「なぜ名前が取れないか」ではなく、「なぜ電話番号が取れるのか」の理由を探ってください。 変数iに何が入ってるのかが分かれば、これも簡単なはずです。 1.と2.が分かれば、名前の取り出し方は自ずと導き出されると思います。 では、頑張ってください。

117711
質問者

お礼

そもそもオブジェクトというものの、理解が足りませんでした・・・。 オブジェクト キーと、値の組み合わせ(プロパティ)の入った箱 という感じでしょうか。 for in文の中の変数には、キーが入っている。オブジェクト名[変数]で値を取り出す。 大雑把な理解ができました。 ご解答有り難うございました。

その他の回答 (2)

  • tracer
  • ベストアンサー率41% (255/621)
回答No.2

まず、customersの構成を教えて下さい。 たとえば、 customers[  {   tel:"03-53xx-xxxx",   name:"田中太郎"  } ] こんな感じでしょうか? つぎに、関数outputが何をやってるか教えてください。 上のオブジェクトの例だと、 function output(obj){  alert(obj.name+"さんの番号は、"+obj.tel+"です。") } こんな感じだと正常に出力(alert)されるはずですが。

117711
質問者

補足

すみません、回答有り難うございます。customersは以下です。 var customers = { "田中太郎":"03-53xx-xxxx", "田中二郎":"03-54xx-xxxx", "田中花子":"03-55xx-xxxx" }; tracerさんの予想のcustomersの定義ですと、わかりやすいのですが、問題の方のcustomersの定義は、一つの要素(?)に、名前と番号が入っているので、名前はいちいち手書きで書いて、するしかないのでしょうか? その手間を省くことってできますでしょうか?よろしくお願いします。

回答No.1

iに入ってます

117711
質問者

お礼

すみません、理解できなかったです。でも、答えだったのですね・・・。 回答有り難うございました。

関連するQ&A