我想寫一個快速函數來過濾出任何falsy值。這似乎抓住一切,除了'空'。這個函數爲什麼會過濾掉'空'值?
請幫忙!
function noFalsy(arr) {
var none=function(val){
switch (val){
case false:
case null:
case "":
case 0:
case undefined:
case NaN:
return false;
default:
return true;
}
},
ans=[];
ans=arr.filter(none);
return ans;
}
它不能爲NaN的工作,因爲開關使用嚴格的比較和NaN!== NaN –
如果你只是尋找虛假,你可以做'.filter(布爾)' – Bergi
你發佈的代碼*會爲我過濾掉'null'嗎?你是否傳入了「null」? – Bergi