Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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 筛选出具有空值的数组,下划线_Javascript_Underscore.js - Fatal编程技术网

Javascript 筛选出具有空值的数组,下划线

Javascript 筛选出具有空值的数组,下划线,javascript,underscore.js,Javascript,Underscore.js,我有这个阵列: [null, {name:'John'}, null, {name:'Jane'}] 我想删除空值。有没有一种简单的方法可以使用下划线来实现这一点 这对你有用 过滤器 _.filter(arr,function (value) { return value!==null; }) 拒绝 _.reject(arr,function (value) { return value===null; }) 尝试使用。如果不使用(数组,*值)它将删除所有不需要的值。在您的

我有这个阵列:

[null, {name:'John'}, null, {name:'Jane'}]
我想删除空值。有没有一种简单的方法可以使用下划线来实现这一点

这对你有用

过滤器

_.filter(arr,function (value) {
    return value!==null;
})
拒绝

_.reject(arr,function (value) {
    return value===null;
})
尝试使用
如果不使用(数组,*值)
它将删除所有不需要的值。在您的情况下,*值==null


来自下划线文档

without_.without(array, *values) 
Returns a copy of the array with all instances of the values removed.
所以就用这个方法吧

var a = [null, {name:'John'}, null, {name:'Jane'}]
a = _.without(a, null);

如果数组包含空值或对象,则可以使用:

NB compact删除所有falsy值,因此如果数组可能包含零、false等,那么它们也将被删除

也可以与谓词一起使用:

var everythingButTheNulls = _.reject(array, _.isNull);

最好的解决方案是使用,但当您不包含特定的真值测试函数时,函数的默认行为是删除假值

例如:

_.filter([null, {name:'John'}, null, {name:'Jane'}])
返回不带空值的对象数组:

[{name:'John'}, {name:'Jane'}]

_.reject(arr,u.isNull)可以说更干净。或者只是u0.without(arr,null)来删除null,如果您的lodash版本支持0.isNil,我想不使用(array,undefined)来删除null。。。这将过滤null、nan和未定义
var everythingButTheNulls=\ u0.reject(数组,\ u0.isNil)
[{name:'John'}, {name:'Jane'}]