function bouncer(arr) {
var array = [false, null, 0, NaN, undefined, ""];
var result = [];
for (var i = 0; i < arr.length; i++) {
if (array.indexOf(arr[i]) === -1) {
result.push(arr[i]);
}
}
return result;
}
ex : bouncer([7, "ate", "", false, 9]) should return [7, "ate", 9].
大家好, 我想刪除所有都在陣列輸入錯誤值,但不知何故,當我跑bouncer([false,null, 0, NaN, undefined, ""]);
我得到[NaN]
作爲返回值,而我期待着一個空數組。有誰知道爲什麼函數返回錯誤的值?indexOf方法如何返回falsely值?
'NaN'不等於本身。 – tkausl
這是一個重複的問題:http://stackoverflow.com/questions/32906887/remove-all-falsy-values-from-an-array – HenryDev
實際上,如果(!! arr [i])'工作,即使是NaN –