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オブジェクト参照