javascriptのsomeを使ってみる。

postdの正規表現を写経していて見慣れないsomeという関数が出てきたので調べてみた。

調べてみたところ、Rubyで言うところのmap関数のようなものだとわかった。
some関数は配列に定義されていて、引数として関数を渡すことで配列の各要素にその関数を適用して結果を得ることができる。

例えば以下のような感じ。

let tmp = [[1, 2], [3, 4], [5, 6], [7, 8]];
tmp.some((a, index) => console.log(index + ": " + (a[0] + a[1])));
// 0: 3
// 1: 7
// 2: 11
// 3: 15

今回は、some関数にlambdaを渡している。
ここでは、lambdaの第1引数が配列内の要素、第2引数がその要素のインデックスが入る。
これを引数として、アローの右側に定義した処理を実行する。

非常に便利そうな関数だが、比較的新しいブラウザでないと対応していないらしい。
使い所には注意が必要。