組み込みクラス
Array クラス
今まで何気なく扱ってきた JavaScript の配列ですが、実はArrayクラスのインスタンスです。具体的に言えば、配列リテラルが生成するオブジェクトは、Arrayクラスのインスタンスです。
Array クラスには、開発効率を劇的に変える便利なメソッドが大量に定義されています。
mapメソッド
Array#mapメソッドは、関数の引数をひとつとり、配列の各要素に対して関数を実行し、それらの戻り値からなる新たな配列を返します。
const numbers = [1, 3, 6, 8];
const doubledNumbers = numbers.map((value) => value * 2); // [2, 6, 12, 16]
2 行目のmapメソッドの引数として渡しているアロー関数式value => value * 2は、引数をひとつとり、その値を 2 倍にして返す関数です。この関数が配列の各要素に対して実行されて、その戻り値の集合がdoubledNumberとなっています。
filterメソッド
Array#filterメソッドは、関数の引数をひとつとり、配列の各要素に対して関数を実行し、それらの戻り値が truthy だったもののみからなる新しい配列を返します。
const evenNumbers = numbers.filter((value) => value % 2 === 0); // [6, 8]
アロー関数式value => value % 2 === 0は、引数が偶数の場合falseを、奇数の場合true