如同其他的程式語言,JS中存在著各種不同型態的數值,像是常見的Object、String、Number以及Boolean等等,那什麼叫做falsy value? 其實在以往的程式碼中我就常常用到這個概念,只是沒注意到這東西還有專有名詞。看一下以下的例子
const number = 0 console.log(number? 'I represent true' : 'I represent false') // I represent false
在上方的例子中,number的值為0,但放入判斷式中會被判為false,有這樣特性的值我們就稱為所謂的falsy value,而今天在freecodecamp做基礎複習時(順便拿完課證明:P)遇到了一個挺有趣的題目
請試著寫一個函式,剔除輸入陣列中的falsy value
解法
function bouncer(arr) {
let arr1 = arr.filter(item=>{
return Boolean(item)? item:''
})
return arr1;
}
利用Boolean語法來處理這個函式非常的簡便。上方的例子中,若item是truly value則回傳item本身,反之若是 falsy value 則不做任何處理,最後陣列中就會只剩下 truly value ! 挺有意思的東西!