【もりけん塾】言語チャレンジ4 -配列から奇数を取り出す-【JavaScript】

JavaScript

今日は、もりけん塾の新しい課題”言語チャレンジ4”に挑戦したので、学習ノートを書いていきます!

こんにちは。Webコーダーのはるです。

もりけん塾の新課題、言語チャレンジに挑戦しました。

この課題における、もりけん先生(@terrace_tec)のスタンスを補足します⏬

✅ inputとoutputの型が合っていれば、答えに問題はない
✅ 
もっといい方法や書き方、改善まで全ての人にレビューするのは大変
✅ 先生のベストの解答が塾外の誰かが見た時にそうではない
✅ 
自分なりのベストを調べ尽くしてほしい
✅ サクサク進めることで言語を学ぶ楽しさを味わってほしい

【もりけん塾】言語チャレンジ4 -配列から奇数を取り出す-

今回、取り組んだ課題はこちらです。

inputの値をoutputの値として出力すること

・関数の引数に入力を渡し、実行した結果(出力)をconsole.logで示してください

(もりけん先生の言語チャレンジより)

配列から奇数を取り出す

与えられた配列[1, 2, 3, 4, 5, 6, 7]から奇数を取り出すために、filter()メソッドを使用しました。IE対応しています。

filter()メソッドは、与えられた関数によって実装されたテストに合格したすべての配列からなる新しい配列を生成します。与えられたcallback関数を配列の各要素に対して一度ずつ呼び出し、callback が true と評価される値を返したすべての要素からなる新しい配列を生成します。

構文

let newArray = arr.filter(callback);

 

callbackの部分に、フィルターをかけたい条件を入れます。

奇数を「numを2で割った時の余が1のとき」とし、以下のように書きました。

function f(input) {
 const oddList = input.filter(num => num % 2 === 1);
 return oddList;
}

偶数の場合は、

num => num % 2 === 0

と書くことができます。

ちなみに、英語で偶数はodd、奇数はevenというと知りました;

  • odd→3文字だから奇数
  • even→4文字だから偶数

と覚えるとどっちがどっちかわからなくなる問題は解決するそうです・・!

PRコード

//input: [1, 2, 3, 4, 5, 6, 7]
//output: [1, 3, 5, 7]


function f(input) {
 const oddList = input.filter(num => num % 2 === 1);
 return oddList;
}

const input = [1, 2, 3, 4, 5, 6, 7];
const output = f(input);
console.log(output);

今回はこれでApproveいただきました。

//

学習に使用している本は、もりけん先生推奨の”JavaScript本格入門”です。

あとがき

お忙しい時間を割いて課題を確認してくださったもりけん先生(@terrace_tec)ありがとうございました!!

コードを試し書きできるツール”stackbiltz”を新たに使用しているので、貼ってみます↓

今日は以上です。

//

【もりけん塾で勉強しています】

もりけん先生(@terrace_tec)のHPはこちら