なにこれ?
JavaScriptのArray反復メソッドを自分用にまとめたものです。
反復メソッドをうまく使い分けるために分類分けしました。
※筆者自身、JavaScript初心者なので間違いがあるかも。
注釈
2018/02/10
@raccy さんからコメント頂き、加筆修正しました。
JavaScriptにおいて…
真の値(truthy value)とはBooleanとして評価される場合で真になるもの。
偽の値(falsy value)とはBooleanとして評価される場合で偽になるもの。
JavaScriptは条件文や繰り返しなどの場面で、任意の型を強制的にBooleanに型変換する。
undefined
、null
、false
、+0
、-0
、NaN
、空の文字列(''
)は**false
に、
これ以外のすべての有効な値はtrue
**に変換される。
基本形
一番シンプルな反復メソッド。
メソッド名 | 戻り値 | 説明 |
---|---|---|
forEach | なし | 配列中の要素それぞれに対してコールバック関数を呼び出す。 |
コールバック関数は以下のような引数を持つ。
function callback(currentValue, index, array);
-
currentValue
:現在処理されている配列の要素 -
index
:現在処理されている配列の要素のインデックス -
array
:処理される配列全体
使わない引数は省略できる。
以降のメソッドは**forEach
+ α**の機能を持つ。
配列生成形
元の配列に反復処理を行い、新たな配列を作成する。
メソッド名 | 戻り値 | 説明 |
---|---|---|
filter | Array | コールバック関数が真の値を返す要素のみからなる新たな配列を返す。 |
map | Array | 各要素にコールバック関数を適用した新たな配列を返す。 |
真偽値形
配列がある条件を満たすかを調べる。
メソッド名 | 戻り値 | 説明 |
---|---|---|
every | Bool | コールバック関数が配列内の全ての要素に対して真の値を返した場合true を返す。 |
some | Bool | コールバック関数が配列内の少なくとも1つの要素に対して真の値を返した場合true を返す。 |
every
の場合、偽の値が返された時点で反復を終了する。
some
の場合、真の値が返された時点で反復を終了する。
走査形
配列内からある条件を満たす要素を探す。
メソッド名 | 戻り値 | 説明 |
---|---|---|
find | 様々 | コールバック関数が真の値を返す要素を返す。見つからない場合undefined を返す。 |
findIndex | Number | コールバック関数が真の値を返す要素のインデックスを返す。見つからない場合-1 を返す。 |
コールバック関数が真の値を返した段階で反復は打ち切られる。
畳み込み形
再帰というのは適した表現ではないかも。
メソッド名 | 戻り値 | 説明 |
---|---|---|
reduce | 様々 | 配列内の各要素に関数を適用し、1つの値を返す。 |
コールバック関数は以下のような引数を持つ。
function callback(accumulator, currentValue, index, array);
-
accumulator
:累積した処理結果
要素を使って関数を適用した結果に、
次の要素を使って関数を適用した結果に、
次の要素を使って関数を適用した結果に…
って感じです。
const example = [1, 2, 3, 4, 5].reduce((acc, val) => {
return acc + val;
});
console.log(example); //15