Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用;布尔值;作为JavaScript中.filter()的参数_Javascript_Boolean - Fatal编程技术网

使用;布尔值;作为JavaScript中.filter()的参数

使用;布尔值;作为JavaScript中.filter()的参数,javascript,boolean,Javascript,Boolean,最近我了解到,您可以使用Boolean关键字检查布尔值是否为false,例如 function countSheeps(arrayOfSheeps) { return arrayOfSheeps.filter(Boolean).length; } 其中,arrayOfSheeps只是一个布尔值数组。由于我找不到任何关于使用“Boolean”作为关键字的信息,我想知道这个词是否还有其他用途,或者我是否可以使用任何资源来了解它。Boolean不是一个关键字,而是

最近我了解到,您可以使用
Boolean
关键字检查布尔值是否为
false
,例如

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

其中,
arrayOfSheeps
只是一个布尔值数组。由于我找不到任何关于使用“Boolean”作为关键字的信息,我想知道这个词是否还有其他用途,或者我是否可以使用任何资源来了解它。

Boolean
不是一个关键字,而是一个关键字,函数只是可以传递的对象。这与:

return arrayOfSheeps.filter(function(x){return Boolean(x)}).length;
由于
函数(x){return f(x)}==f
可以简化:

return arrayOfSheeps.filter(Boolean).length;
基于

不要使用布尔对象将非布尔值转换为布尔值 布尔值。要执行此任务,请使用布尔值作为 作用

因此,代码与:

const b = v => !!v;
arrayOfSheeps.filter(b).length;
arrayOfSheeps.filter(v => !!v).length;  // or inline 

搜索
javascript Boolean
返回文档:你从哪里学到的<代码>布尔值不是关键字!我想我使用了错误的术语,请原谅我的无知,就像我说的,我是JavaScript新手。谢谢,我理解现在发生的事情。为了记录在案,我在Codewars.com上发现,代码是一个问题的答案,它被认为是一种最佳实践。这就是我想了解它的原因。在这个网站上获得否决票并不难,是吗?
const b = v => !!v;
arrayOfSheeps.filter(b).length;
arrayOfSheeps.filter(v => !!v).length;  // or inline