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

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

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

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

Q&A

解決済

2回答

1255閲覧

Javascript の関数の書き方(要素の合計値を戻り値として返す関数など)

Yuisan

総合スコア2

JavaScript

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

1グッド

1クリップ

投稿2023/01/24 08:48

Javascript の基本的なコードの書き方

現在オンラインスクールにて、javascriptの勉強をしているのですが、
関数のあたりでもうさっぱりコードの書き方の検討がつかなくなってしまっておりまして
以下の内容の場合のコードの書き方や、考え方を教えていただけたら、大変嬉しいです・・!

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
例題
数値の配列を引数として渡すと、配列の各要素の合計値を戻り値として返す関数 getArraySum 及び
配列の各要素の平均値を戻り値として返す関数 getArrayAverage を定義してください。

配列は以下を利用してください。

let numbers = [100, 200, 300, 400, 500, 600];

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー

ご回答、お持ちしております!!!

Cocode👏を押しています

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

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

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

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

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

guest

回答2

0

ベストアンサー

関数の基本的な書き方

javascript

1function 関数名(引数) { 2 何かしらの処理; 3 return 戻り値; 4}
  • 引数は使用しない時もあります。
    • その場合はfunction myFunction()という形にし、丸括弧の中には何も書きません。
    • 今回の質問者様の例題では引数を使用します。
  • 関数の中で算出された値は、関数の外で使うことがことできません。
    • 使えるようにするためにreturn 値と書いて「値を戻す(または、返す)」ことで、その値を関数の外で利用することができます。
    • 今は理解できなくても構いません。「値をその関数の外でも使いたかったらreturnする」と機械的に覚えてください。そのうち分かります。
関数の使用例

javascript

1// 引数を使わない例 2function get10plus5() { 3 const result = 10 + 5; 4 return result; 5} 6console.log( get10plus5() ); // 結果:15 7 8// 引数を利用する例 9function getSum(a, b) { 10 const sum = a + b; 11 return sum; 12} 13console.log( getSum(3, 10) ); // 結果:13 14console.log( getSum(100, 54) ); // 結果:154

配列の要素(数値)の合計値を算出する方法

JavaScriptには.reduce()メソッドというものが標準で用意されており、これを使うことで配列の要素(数値)の合計値を計算することができます。

配列の要素を全部足す方法

今はまだ難しいと思いますので、細かい説明は割愛します。
丸暗記してください。

javascript

1配列.reduce((acc, cur) => acc + cur, 0);
.reduce()の使用例

javascript

1const numbers = [2, 10, 8]; 2const sum = numbers.reduce((acc, cur) => acc + cur, 0); 3console.log(sum); // 20

ヒント:合計値を算出する関数

答えを書いてしまってはよくないと思うので、ヒントのコードを差し上げます。

javascript

1function getArraySum(arr) { 2 const sum = ⭐️配列の合計値を算出する; 3 return sum; // 計算した合計値を戻す 4} 5 6let numbers = [100, 200, 300, 400, 500, 600]; 7console.log( getArraySum(numbers) ); // ブラウザの開発者ツールのコンソール画面で確認

※ ⭐️の部分を適切なコードに書き換えてください。

ヒント:平均値を算出する関数

合計値を算出する関数がかけたら、平均値を算出する関数はほとんど同じです。
「配列の合計値÷配列の要素の数(配列の長さ)」 をしてやるだけです。

javascript

1function getArrayAverage(arr) { 2 const sum = ⭐️配列の合計値を算出する; 3 const avg = sum / ⭐️配列の長さ // 平均値を計算する 4 return avg; // 計算した平均値を戻す 5} 6 7let numbers = [100, 200, 300, 400, 500, 600]; 8console.log( getArrayAverage(numbers) ); // ブラウザの開発者ツールのコンソール画面で確認

※ ⭐️の部分を適切なコードに書き換えてください。

投稿2023/01/24 14:46

編集2023/01/24 15:00
Cocode

総合スコア2314

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

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

uky

2023/01/24 14:53

こちらの回答の方が質問者さんのレベルにあっていると思いますので、こちらを読まれた方が良いと思います。 私のは目通しだけで良いです。
Yuisan

2023/01/25 13:25 編集

ありがとうございます!! わからないことがわからなかったので、大変助かりました。。 参考にいたします!
guest

0

直接コードを記載すると学習にならないと思うので、私なりの考え方を記載していきます。(getArrayAverageは自分でやってみてください。

数値の配列を引数として渡すと、配列の各要素の合計値を戻り値として返す関数 getArraySum

まず、条件を分解します。

  • 以下を満たす関数をgetArraySumと呼ぶ
    • 数値の配列を引数として渡す
    • 配列の各要素の合計値を戻り値

分解するときのコツは「関数の名前」「引数」「戻り値」を意識することです。

今回は既に全て指定されているので、あとは組み立てるだけです。

js

1関数名(引数){ 2 return 戻り値 3}

実際の文法やロジックの組み立て方はご自身で勉強して書いてみてください。
(最初は難しいかもですが、すぐ慣れます。

以下、日常でできる練習方法

プログラミングの関数的な思考を日頃から意識するのもいいと思います。

例えば簡単に「自動販売機」を上記のように分解してみると

  • 以下を満たす関数を「自動販売機」と呼ぶ
    • お金を入れて、種類を選ぶと
    • 選んだものが一本出てくる

※お釣りは考慮しない

となり、
よりプログラムっぽく表現すると、

js

1// 関数の定義 2自動販売機(お金、種類){ 3 return 種類 4}

になります。
意外と世の中こういった関数で溢れているので、ぜひ学習がてらやってみてください。

投稿2023/01/24 09:54

編集2023/01/24 10:04
uky

総合スコア207

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

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

Yuisan

2023/01/25 12:52

こちらご回答感謝です! 参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問