質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

7240閲覧

Java Script  連想配列 「平均点を求める」

yumi0414

総合スコア18

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

1グッド

2クリップ

投稿2016/06/27 15:18

編集2016/06/27 15:28

Java Scriptを勉強中です。

連想配列 平均点の求め方なのですが、答えを見てもいまいち考え方がわかりません。

以下のコードが答えですが、特に、
sum += scores[key];
count += 1;
の部分です。

scores[key];というのはscoresの値でsum(合計)に代入するということはわかるのですが、4人分のスコアをひとつづつ(count += 1;)入れていくということですか?
で、4人分足し終わったら勝手に終了するということでしょうか。

for (var i = 0; i < ○○.length; i++)
↑このような感じだったらなんとなく理解できたのですが・・・

説明が下手で申し訳ありません。
初心者にわかりやすく説明できるかたいらっしゃいますか?

↓ ↓ ↓ ↓ ↓

var scores = {Taro: 72, Ken: 93, Tom: 85, John: 68}; // 点数の合計値を入れるための変数 var sum = 0; // 連想配列の個数を数えるための変数 var count = 0; for (var key in scores) { console.log(key + 'さんは' + scores[key] + '点です'); sum += scores[key]; count += 1; } var avg = sum / count; console.log('平均点は' + avg + '点です');

//コンソール↓

Taroさんは72点です
Kenさんは93点です
Tomさんは85点です
Johnさんは68点です
平均点は79.5点です

Yuri0402👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/06/27 15:22

コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「</>」ボタンを押すとコードブロックになります。
yumi0414

2016/06/27 15:26

ご指摘ありがとうございます!質問の仕方も理解しておらず申し訳ないです。
guest

回答3

0

ベストアンサー

for..in文がわかれば解決だと思います。
for..in文

投稿2016/06/27 15:32

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yumi0414

2016/06/27 16:43

for..in文勉強し直します! 詳しくありがとうございます(^-^)
guest

0

JavaScript

1count += 1;

は単純に人数を数えているだけですね。

投稿2016/06/27 15:40

googlecus

総合スコア52

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yumi0414

2016/06/27 16:47

for..in文の、プロパティの数と同じだけ人数も繰り返し足していくんですね…! ありがとうございます(^-^)
guest

0

回答ではありませんが、1つコメントします。

質問文にあるコードでは、
count は 平均点を計算するときに割り算するのデータ数を数える為の変数になっています。

でも、count をつかわなくても、平均点は計算できます。
scores の要素数が直接わかるはずだからです。

また、割り算をするときは、分母が 0 でないことのチェックをしたほうが良いです。

参考

投稿2016/06/27 22:05

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yumi0414

2016/06/28 00:15

ありがとうございます!いろんなやり方があるのですね!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問