JavaScript: 配列から条件に一致する要素のみを取り出す filter
JavaScriptの配列から、 条件に一致する要素のみを取り出して新たな配列を生成する場合は、 filterメソッドを使用します。
filterメソッドの書式は次の通りです。
書式
array.filter(function(value[, index[, array]]){ 関数内容 }[, thisArg])
filterメソッドはコールバック関数で配列の内容をテストし、 trueと判定された要素のみを取得できます。 戻り値はテストに合格した要素から構成される新しい配列です。
値 | 内容 |
---|---|
value | 配列の要素内容 |
index | 要素番号(インデックス) |
array | 実行中の配列 |
thisArg | this として使用する値 |
次のサンプルコードでは、 filterメソッドを使って、 3の倍数からなる新たな配列を生成しています。
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; let new_arr = arr.filter(function(value){ return (value % 3 == 0); }); console.log(new_arr); // Array(3) [ 3, 6, 9 ]
「return (value % 3 == 0);」の部分で、3で割った余りが0の場合にtrueを返します。 ですから3の倍数からなる配列が作成されます。