Filter null from an array in JavaScript

后端 未结 4 1568
予麋鹿
予麋鹿 2020-12-16 09:18

I have a task to remove false, null, 0, "", undefined, and NaN elements from an given array. I worked on a solution which removes all except null. Anyone can expla

4条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-16 10:11

    Well, since all of your values are falsy, just do a !! (cast to boolean) check:

    [1,"", null, NaN, 2, undefined,4,5,6].filter(x => !!x); //returns [1, 2, 4, 5, 6]
    

    Edit: Apparently the cast isn't needed:

    [1,"", null, NaN, 2, undefined,4,5,6].filter(x => x);
    

    And the code above removes null just fine, it's NaN that's the problem. NaN !== NaN as Nina says in her answer.

提交回复
热议问题