Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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 为什么';t第一个函数返回0?告诉我他们之间的区别_Javascript - Fatal编程技术网

Javascript 为什么';t第一个函数返回0?告诉我他们之间的区别

Javascript 为什么';t第一个函数返回0?告诉我他们之间的区别,javascript,Javascript,第一个功能: 功能过滤器列表(l){ 返回l.filter(x=>{ 如果(x>=0){ 返回x } }) } log(过滤器列表([1',a',b',0,15])第一个函数不包括最终结果数组中的0,因为当满足if中的表达式时,您将返回x本身: if(x >= 0) { //When x is 0, the filter predicate becomes Falsy return x } 当x为0时,它是一个假值,因此过滤器跳过x的值 在第二种情况下,x>=0是返回值,因

第一个功能:

功能过滤器列表(l){
返回l.filter(x=>{
如果(x>=0){
返回x
}
})
}

log(过滤器列表([1',a',b',0,15])
第一个函数不包括最终结果数组中的
0
,因为当满足
if
中的表达式时,您将返回
x
本身:

if(x >= 0) {
   //When x is 0, the filter predicate becomes Falsy
   return x
}
x
0
时,它是一个假值,因此过滤器跳过
x
的值


在第二种情况下,
x>=0
是返回值,因此,当
x
0
时,表达式
x>=0
成为布尔值
true
,因此
x
的值包含在最终结果中。

过滤器
接受谓词-它应该返回
true
false
。但是,如果返回零,则强制为
false
,因此它被过滤掉。或者,换句话说,
0
为false