JavaScriptには、配列や文字列を効率よく扱うためにあらかじめ定義された関数が多数用意されています。
そのすべてをここで紹介することはできませんが、スクリプトを扱ううえで特に便利な関数をいくつか紹介します。
それ以外の関数については、前述した『MDN Web Docs』に網羅されています。
配列を扱ううえで頻出する関数を説明します。[]で初期化した変数に対して呼び出すことができます。
let aaa = [];
aaa.push(1);
一覧は以下に記載されています。
コアスクリプトで定義されているデータの中にも配列は多数あります。
配列の関数の種類や使い方をマスターしておけば、効率的なスクリプトを書くうえで非常に役立ちます。
配列の末尾もしくは先頭に要素を追加、もしくは取り出す関数です。
関数 | 説明 |
---|---|
push | 配列の末尾に要素を追加します。 |
pop | 配列の末尾から要素を取り出して返します。 |
unshift | 配列の先頭に要素を追加します。 |
shift | 配列の先頭から要素を取り出して返します。 |
配列の各要素に対してそれぞれ処理を実行したいときに使える関数です。
引数に関数を指定し、かつその関数の引数に配列の要素が渡されることが特徴です。
言葉で説明しても伝わりづらいので例を見てみましょう。
let aaa = [1, 2, 3];
aaa.forEach(item => {
console.log(item); // 1, 2, 3が順番に出力される
});
これらの関数は既に説明したfor文でも代用できますが、用途に合わせて使い分けることで読みやすく、バグの少ないスクリプトが書けます。
また、これらの関数はコアスクリプトでも頻繁に使われているのでぜひ覚えておきましょう。
また、これらの関数は『アロー関数』と相性がいいです。アロー関数の書き方についても併せてマスターしておきましょう。
関数 | 説明 |
---|---|
forEach | 配列の各要素に対して引数に渡した関数を実行します。 |
map | 引数に渡した関数の戻り値を要素とした新しい配列を返します。 |
filter | 引数に渡した関数の戻り値がtrueの要素のみを含む配列を返します。 |
find | 引数に渡した関数の戻り値が最初にtrueとなった要素を返します。 |
findIndex | 引数に渡した関数の戻り値が最初にtrueとなった添字を返します。 |
some | 引数に渡した関数の戻り値がひとつでもtrueを返したら、trueを返します。 |
every | 引数に渡した関数の戻り値が全てtrueを返したら、trueを返します。 |
reduce | 引数に渡した関数を使って、配列を単一の値にまとめます。 |
reduceはちょっと複雑なので、ここでは割愛します。
『MDN Web Docs』に詳しい説明が記載されています。
他にも配列には便利な関数が多数用意されています。
関数 | 説明 |
---|---|
concat | 引数に指定された配列もしくは値を連結した新しい配列を返します。 |
includes | 引数に指定された値が配列に含まれているときにtrueを返します。 |
join | 引数に指定した区切り文字で配列の全要素を連結した文字列を返します。区切り文字を省略するとカンマになります。 |
splice | 添字を指定して配列の要素を削除あるいは挿入できます。第一引数に添字、第二引数に削除したい件数、第三引数以降に挿入したい要素を指定できます。 |
Mathモジュールは数学で利用する関数や定数が定義された関数群です。
前項のArrayと異なり、こちらで定義した変数に対して使うのではなく、『Math.abs』のように固定で定義された『Math』に対して呼び出します。
コアスクリプトの『XxxManager』に近い存在です。
let aaa = Math.abs(-100);
一覧は以下に記載されています。
Mathモジュールのなかでも、コアスクリプトで使われていたりスキルなどの計算式で使うことになる関数について説明します。
関数 | 説明 |
---|---|
Math.abs(n) | 数値nの絶対値を返します。 |
Math.ceil(n) | 数値nを超える最小の整数を返します。小数点以下の切り上げなどに使えますが、負の値を引数に指定する場合は使えません。 |
Math.floor(n) | 数値nを超えない最大の整数を返します。同じく切り捨てなどに使えますが、負の値を引数に指定する場合は使えません。 |
Math.round(n) | 数値nを四捨五入した整数を返します。 |
Math.trunc(n) | 数値nの小数点部分を切り捨てた値を返します。floorよりも明確に切り捨てに使えます。コアスクリプトではfloorの方が使われています。 |
Math.max(n, m...) | 引数に指定した数値の中で最大の数値を返します。引数には好きなだけ数を指定できます。 |
Math.min(n, m...) | 引数に指定した数値の中で最小の数値を返します。引数には好きなだけ数を指定できます。 |
Math.pow(n, m) | 数値nをm乗した値を返します。 |
Math.randomInt(n) | 0からn-1までの範囲でランダムな整数を返します。実はコアスクリプトで追加された関数なので、MDNには記載はありません。 |
文字列を扱う上で頻出する関数を説明します。
文字列も配列と同様に、コアスクリプトで多用されているため、便利な関数を把握しておくとスクリプトを記述するうえで役に立ちます。
let aaa = 'AAAA';
let bbb = aaa.toLowerCase();
一覧は以下に記載されています。
Mathモジュールのなかでも、コアスクリプトで使われていたりスキルなどの計算式で使うことになる関数について説明します。
以下は、よく使われる関数の一覧です。
関数 | 説明 |
---|---|
includes | 引数に指定した文字列が含まれているときにtrueを返します。 |
toLowerCase | 文字列を小文字化した新しい文字列を返します。 |
toUpperCase | 文字列を大文字化した新しい文字列を返します。 |
slice | 引数で指定した開始位置と終了位置で切り出した部分文字列を返します。 |
replace | 第一引数で指定した文字列を第二引数で指定した文字列で置き換えます。 |
split | 引数で指定した文字を区切り文字にして、文字列を配列に分割して返します。 |