我需要從數組中除去所有空值(null,undefined,'',NaN,false)。例如:[0,false,[],undefined,{},NaN,'Kevin'] => [0,[],{},'Kevin'];設計用於從數組中刪除NaN的代碼,仍然返回NaN JS
function removeBlank(array) {
array = array.filter(function (n) {
return (n !== undefined && n !== null && n !== false && n !== "" && isNaN()!= NaN); });
console.log(array);
}
然而,這仍然返回爲NaN。 例如 removeBlank([0, NaN, undefined, false, '', null, 'Kevin']);
回報 [0,NaN的, 「凱文」]
如何提高isNaN()!= NAN)與出消除串,零或其他數字刪除喃?
@MaxES'logical OR',它表示任何一方都是'真實'或真實。如果'n!== false!==「」!== 0!== NaN!== undefined!== null',那麼它就是真的,然後'n'等同於'true',所以測試是可以的。如果'n === 0',那麼'||'的左邊將等於'false',但右邊的'n === 0'將是'true','||'只需要一個'真正的一面是真實的。所以無論是「真」還是等於「0」。 –
@MaxES這裏更多關於[**邏輯運算符**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators)。 –
如果它是'Infinity'或'-Infinity',它將返回'true'。通常,處理無限數字是一個糟糕的主意,幾乎沒有應用程序處理它們。 – arboreal84