2015-03-31 71 views
1

最近我已經瞭解到,您可以使用Boolean關鍵字來檢查布爾值是否爲false,例如,使用「Boolean」作爲JavaScript中.filter()的參數

function countSheeps(arrayOfSheeps) { 
      return arrayOfSheeps.filter(Boolean).length; 
    } 

其中arrayOfSheeps只是一個布爾值數組。由於我一直無法找到關於使用'布爾'作爲關鍵字的任何信息,所以我想知道該字是否有其他用途,或者甚至只是我可以用來了解它的任何資源。

+2

一種'的JavaScript Boolean'搜索返回的文檔:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean – 2015-03-31 00:57:08

+0

你從哪裏瞭解到這一點? '布爾'不是關鍵字! – Bergi 2015-03-31 01:06:48

+0

我想我使用的是錯誤的術語,請原諒我的無知,就像我說的,我是JavaScript新手。 – 2015-03-31 01:10:20

回答

2

Boolean不是關鍵字,它是function,函數只是對象,可以傳遞。這是一樣的:

return arrayOfSheeps.filter(function(x){return Boolean(x)}).length; 

由於function(x){return f(x)} === f,那麼你可以簡化:

return arrayOfSheeps.filter(Boolean).length; 
+0

謝謝,我明白現在發生了什麼事。並且爲了記錄,我發現Codewars.com上的代碼是解決問題的答案,並且被認爲是最佳實踐。這就是爲什麼我想了解它。在這個網站上投票不是太難,是嗎? – 2015-03-31 01:12:36