filter()
メソッドを使って配列の空文字、null
、undefined
を削除する
filter(Boolean)
var arr = ["hoge", "", "123", " ", "0", 123, 0, null, undefined];
arr.filter(Boolean); //["hoge", "123", " ", "0", 123]
// アロー関数式
arr.filter(n => n); //["hoge", "123", " ", "0", 123]
説明
上の使い方をテスト関数を作成して、引数で渡す方式で書くとこうなる
function isTrue(value) {
return Boolean(value);
}
var arr = ["hoge", "", "123", " ", "0", 123, 0, null, undefined];
arr.filter(isTrue); //["hoge", "123", " ", "0", 123]
filter()
はテスト関数がfalse
を返す要素は取り除かれる。
この場合は各要素をBoolean
に変換すると空文字、null
などはfalse
になるので、取り除かれる。
注意すること
-
Number
の「0」も消えちゃうこと - 空白(スペース)は消えないこと