filter(Boolean)について

に公開

今回はJavaScriptのメソッドである「filter」を使用した
filter(Boolean)について解説していきます。

・filter(Boolean)とは?

結論ですがfilter(Boolean)を使用することでfalseになるものを排除することができます。


まずは基本的なおさらいから

・filterとは?

filterは配列から条件を満たす要素のみを取り出し、新しい配列を生成するメソッドになります。

const arry = [1, 2, 3, 4]

// 2で割って余りが0のもの、つまり偶数を取り出す
const evenArry = arry.filter((num) => num % 2 === 0) 

console.log(evenArry);    // [2, 4]


・filter(Boolean)の仕組み

ではfilter(Boolean)はどうなるのか
実はfilterを扱う上でもう一つ重要なことがあります。
それは"true"となる要素のみ新しい配列に返すと言うことです。

const randomArry = [1, null, 3, undefined, false, 5]

const newRandomArry = randomArry.filter(num => num)

// null undefined falseはtrueではないので新しい配列には入らない
console.log(newRandomArry) // [1, 3, 5]


そしてこの2行目の

const newRandomArry = randomArry.filter(num => num)

の箇所は

const newRandomArry = randomArry.filter(Boolean)

// [1, 3, 5]

と書き換えることが可能になります。
Booleanオブジェクト参照