【メモ】最近使ったメソッド
前置き
メソッドとかさ、引数や使い方しっかり覚えなくてもいいじゃんって思ってました。調べればすぐわかることだし。
「あー確かあんな処理するメソッドあったよなー」ぐらい覚えとけば、どうとでもなるじゃん?って思ってました。
でも考え改めました。
単純に、過去使った記憶あるのに調べ直してる時間もったいない。笑
覚えとけば反射的に書けるのに、いちいち調べてるの本当無駄だなぁって・・・。(今さら気づくっていう)
だから覚えるためにメモっとこっていう、そういう意図です。
メモ
array.find(function(element, index, array)[, this])
●特徴
関数の結果にマッチする配列内の最初の要素を返す。
配列内の要素一つ一つに対し関数を適用してくれる。
なんか要素取り出したい時に使った。
●引数
element
配列内の要素で、現在処理されているもの。
index
配列内の要素で、現在処理されているものの番号。
array
今findを実行している配列。
this (任意)
関数が実行される時にthisとして使われるオブジェクト。
使ったことないからピンとこない。
●戻り値
関数の結果にマッチした最初の要素。
●使用例
配列内に欲しい要素があることは推測できてるけど、indexがわからなくて取り出せない時に使ったような気がする。
const regions = ['名古屋', '東京', '仙台', '横浜', '沖縄'] const yokohama = regions.find((region) => { return region == '横浜'}) console.log(yokohama) //横浜 const nums = [10, 4, 9, 13, 20, 1, 5, 17] const numOver10 = numbers.find((num) => { return num > 10}) console.log(numOver10) //13 (17と20は戻り値にならない)
array.filter(function(element, index, array)[, this])
●特徴
関数の結果にマッチする配列内の要素を全て取り出して、新しい配列を生成する。
配列内の要素一つ一つに対し関数を適用してくれる。
マッチした要素は残るけど、マッチしなかった要素は取り除かれる。
元の配列は変化しない。
●引数
element
配列内の要素で、現在処理されているもの。
index
配列内の要素で、現在処理されているものの番号。
array
今findを実行している配列。
this (任意)
関数が実行される時にthisとして使われるオブジェクト。
使ったことないからピンとこない。
●戻り値
関数の結果にマッチした要素が格納された配列。
●使用例
array.find()と同様だけど、該当する要素が複数あると思われる場合に使ったような気がする。
const regions = ['名古屋', '東京', '仙台', '横浜', '沖縄', '和歌山'] const matchRegions = regions.filter((region) => { return region.length == 2}) console.log(matchRegions) // ["東京", "仙台", "横浜", "沖縄"] const nums = [10, 4, 9, 13, 20, 1, 5, 17] const numsOver10 = numbers.find((num) => { return num > 10}) console.log(numsOver10) // [13, 20, 17]
●余談
個人的にだけど、filter()
より match()
とか pick()
っていう名前の方が合ってると思う。どうにもならないけど。笑
filter()
だとマッチする要素が返ってくるんじゃなくて、逆にマッチしない要素が入るのかな?って思っちゃう。
まあ解釈は個人によると思うけどっていうか、私があまり英語を理解してないだけか。
もちろんもっとあるけど、とりあえずまた今度編集します。