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

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

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

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

Q&A

解決済

2回答

886閲覧

javascript初学者、平均点の出し方について

laug02

総合スコア1

JavaScript

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

0グッド

0クリップ

投稿2020/12/18 05:54

前提・実現したいこと

現在課題で詰まっています。
下のscoreのところの平均値を出して平均点以上のusersは合格、それ以下は不合格、と表示させたいです。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

javascript

1ソースコード

const users = [
{
name: '佐藤',
score: 90
},
{
name: '山田',
score: 40
},
{
name: '斎藤',
score: 70
},
{
name: '高橋',
score: 30
},
{
name: '田中',
score: 80
}
]

試したこと

配列の平均値は出せるが取り出して配列を取り出して平均値を出せません。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

ozwk

2020/12/18 05:56

> 配列の平均値は出せるが 書いてみてください
yambejp

2020/12/18 05:58

結果としてどう表記(またはデータ投入)すればよいのでしょうか?
guest

回答2

0

ベストアンサー

javascript

1const ave=users.reduce((x,y)=>x+y.score,0)/users.length; 2const result=users.map(x=>[x.name,x.score>=ave?"合格":"不合格"]); 3console.log(result);

投稿2020/12/18 09:28

yambejp

総合スコア116724

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

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

0

下のscoreのところの平均値を出して平均点以上のusersは合格、それ以下は不合格、と表示させたいです。

ふむふむ

js

1const users = [ 2{ 3name: '佐藤', 4score: 90 5}, 6{ 7name: '山田', 8score: 40 9}, 10{ 11name: '斎藤', 12score: 70 13}, 14{ 15name: '高橋', 16score: 30 17}, 18{ 19name: '田中', 20score: 80 21} 22]

は?scoreの平均を出したら
連帯責任で高得点の佐藤さん不合格になる可能性があるってことですか?
やばすぎわろた

それとも平均点を求めた結果がこのnamescoreのオブジェクトの配列なのですか?

配列の平均値は出せるが取り出して配列を取り出して平均値を出せません。

日本語でおk

オブジェクトの配列から、スコアの配列に変換して、平均値を割り出したいという要求でしょうか?
でしたらこれです。

js

1const sum = 0; 2for (const {score} of users) { 3 sum += score; 4} 5const avg = sum / users.length;

言ってることそのまま要件なら、
Array.prototype.mapを使って変換が楽ですね。

js

1const scores = users.map(user => user.score);

だからこれは佐藤や山田の平均点になって
連帯責任で佐藤が不合格になる!って話でしょ!

投稿2020/12/18 10:59

miyabi-sun

総合スコア21203

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

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

yambejp

2020/12/18 11:06

単純に平均より上が合格で下が不合格と言いたいんだと思いますが、 佐藤くんが100点で他の4人が99点だと、佐藤くん以外全員不合格なんですよね 運用方法がおかしいのはどうにかしてほしいですね
miyabi-sun

2020/12/18 11:24

あー、なるほど…… それはそれで落とす為の試験になるのでやっぱり違和感ありますよね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問