どうもきよです!
今回はJavaScriptのfilterについて、
メモしていきたいと思います。
配列操作で結構便利なメソッドなので、
覚えておくといいかもしれません!
■参考(こちらを確認してください)
公式サイト
スポンサーリンク
filterの使い道
JavaScriptのfilterは、
配列から特定の要素だったり、特定の値のみを抽出したい場合や、
何かの条件に一致したデータを取得したい場合に役立ちます。
例えば、名前の配列があったときに「山田」さんだけ取得したい場合など、
for文で書いても良いですが、見やすく簡潔に書けるのでお勧めです!
構文
array.filter(collback, object);
※collback = 条件式(関数)
※object = 引数(collback内で「this.」でアクセスできる)
詳しくは公式サイトを参照してください。
filterの使い方例
・配列から「山田」さんのみ抽出する場合(ES2015)
let members = [ {'name' : '東山', 'age' : 21}, {'name' : '山田', 'age' : 22}, {'name' : '田中', 'age' : 23}, {'name' : '中村', 'age' : 24} ]; let conditions = {'name' : '山田'}; let yamada = members.filter(member => member.name === this.name, conditions); console.log(yamada);// [{'name' : '山田', 'age' : 22}]
・collback関数を変数に入れてあげてもOK
let members = [ {'name' : '東山', 'age' : 21}, {'name' : '山田', 'age' : 22}, {'name' : '田中', 'age' : 23}, {'name' : '中村', 'age' : 24} ]; let conditions = {'name' : '山田'}; let collback = function (element, index, array) {return element.name === this.name;}; let yamada = members.filter(collback, conditions); console.log(yamada);// [{'name' : '山田', 'age' : 22}]
※element = 現在の要素({‘name’ : ‘東山’, ‘age’ : 21}だったり、{‘name’ : ‘山田’, ‘age’ : 22}だったり)
※index = 現在の要素の添字(上記の例だと「0 ~ 3」) 省略可
※array = 元の配列(上記の例だと「members」) 省略可
以上、よろしくお願いいたします。