Jednym z ładniejszych sposobów jest odfiltrowanie za pomocą konstruktora Boolean
, który zamieni przekazany argument na wartość true/false
. Można również użyć podwójnego zaprzeczenia do przekształcenia.
const myArray = ["a", "", [], null, undefined, NaN, 1, {}, 0, true, false]; const onlyTruthy1 = myArray.filter(Boolean); const onlyTruthy2 = myArray.filter((v) => !!v); console.info(onlyTruthy1); // ["a", [], 1, {}, true] console.info(onlyTruthy2); // ["a", [], 1, {}, true]