Javascript の基本的なコードの書き方
現在オンラインスクールにて、javascriptの勉強をしているのですが、
関数のあたりでもうさっぱりコードの書き方の検討がつかなくなってしまっておりまして
以下の内容の場合のコードの書き方や、考え方を教えていただけたら、大変嬉しいです・・!
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
例題
数値の配列を引数として渡すと、配列の各要素の合計値を戻り値として返す関数 getArraySum 及び
配列の各要素の平均値を戻り値として返す関数 getArrayAverage を定義してください。
配列は以下を利用してください。
let numbers = [100, 200, 300, 400, 500, 600];
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ご回答、お持ちしております!!!
以下のような質問にはグッドを送りましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 間違っている
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
こちらの質問が複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。
回答2件
1
ベストアンサー
関数の基本的な書き方
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総合スコア2167
1
直接コードを記載すると学習にならないと思うので、私なりの考え方を記載していきます。(getArrayAverageは自分でやってみてください。
数値の配列を引数として渡すと、配列の各要素の合計値を戻り値として返す関数 getArraySum
まず、条件を分解します。
- 以下を満たす関数をgetArraySumと呼ぶ
- 数値の配列を引数として渡す
- 配列の各要素の合計値を戻り値
分解するときのコツは「関数の名前」「引数」「戻り値」を意識することです。
今回は既に全て指定されているので、あとは組み立てるだけです。
js
1関数名(引数){ 2 return 戻り値 3}
実際の文法やロジックの組み立て方はご自身で勉強して書いてみてください。
(最初は難しいかもですが、すぐ慣れます。
以下、日常でできる練習方法
プログラミングの関数的な思考を日頃から意識するのもいいと思います。
例えば簡単に「自動販売機」を上記のように分解してみると
- 以下を満たす関数を「自動販売機」と呼ぶ
- お金を入れて、種類を選ぶと
- 選んだものが一本出てくる
※お釣りは考慮しない
となり、
よりプログラムっぽく表現すると、
js
1// 関数の定義 2自動販売機(お金、種類){ 3 return 種類 4}
になります。
意外と世の中こういった関数で溢れているので、ぜひ学習がてらやってみてください。
投稿2023/01/24 09:54
編集2023/01/24 10:04総合スコア91
良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
回答へのコメント
関連した質問
Q&A
解決済
最速で配列からデータを取り出し、正規表現で検索したい。
回答3
クリップ1
更新
2023/01/31
意見交換
受付中
JSの変数名の先頭に$マークをつける理由
回答12
クリップ2
更新
2023/02/01
Q&A
解決済
jsとgasによるdoPostとfetch間によるhtmlファイルの受け渡しについて
回答1
クリップ2
更新
2023/01/30
Q&A
受付中
JavaScriptでエラーをキャッチできる場合とできない場合の違い
回答4
クリップ3
更新
2023/01/31
Q&A
解決済
【GAS】ピボットテーブル生成時にピボットグループを作成したい
回答1
クリップ0
更新
2023/01/30
Q&A
解決済
2点間でのワープ機能について【動画あり】
回答2
クリップ0
更新
2023/02/01
Q&A
解決済
Google maps API で addListner is not a function が発生する
回答1
クリップ0
更新
2023/01/29
Q&A
解決済
リーダブルコードを先日読み「do while文」は良くないので書き換えるよう記述されていたのですがJavaScriptだとどう書き換えたらいいのでしょうか?
回答2
クリップ0
更新
2023/01/25
同じタグがついた質問を見る
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2023/01/24 14:53
2023/01/25 13:25 編集