Je dois supprimer toutes les valeurs vides (null, indéfini, '', NaN, faux) SAUF 0 à partir d'un tableau. Par exemple: [0, false, [], undefined, {}, NaN, 'Kevin'] => [0, [], {}, 'Kevin'];code conçu pour retirer NaN du tableau, retourne toujours NaN JS
function removeBlank(array) {
array = array.filter(function (n) {
return (n !== undefined && n !== null && n !== false && n !== "" && isNaN()!= NaN); });
console.log(array);
}
Cependant, cela renvoie toujours un NaN. par exemple removeBlank([0, NaN, undefined, false, '', null, 'Kevin']);
retours [0, NaN, "Kevin"]
Comment puis-je améliorer la isNaN()! = NaN) pour éliminer NaN avec la suppression des chaînes, ZEROS ou d'autres chiffres?
@MaxES 'OR logique, cela signifie que les deux côtés sont' true' ou véridiques. Si 'n! == false! ==" "! == 0! == NaN! == undefined! == null' alors c'est vrai et alors' n' est équivalent à 'true' donc le test est ok. Si 'n === 0' alors le côté gauche de' || 'sera équivalent à' false', mais le côté droit 'n === 0' sera' true', '||' ne nécessitera qu'un ' vrai côté à être «vrai». Donc, soit 'n' est vrai ou il est égal à' 0'. –
@MaxES Voici plus sur [** opérateurs logiques **] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators). –
Si c'est 'Infinity' ou '-Infinity', il retournera' true'. Habituellement, c'est une mauvaise idée de travailler avec des nombres infinis, presque aucune application ne les traite. – arboreal84