使用lodash,目标是过滤负数。但是,由于某些原因,下面的代码也会过滤零。为什么会发生这种情况,我怎么能包括零呢?我尝试过将>=更改为>,但这仍然不起作用(这显然是错误的)。
let numbers = [1,2,3,0,-1,4,0];
_.filter(numbers, (number) => {
if (number >= 0) {
return number;
}
});输出:
[1,2,3,4]我怎么才能包括零呢?
发布于 2018-03-02 20:22:54
您只需要在if语句中返回布尔表达式。
let result = _.filter(numbers, number => number >= 0);您的代码返回数值,其中零被计算为falsy,而非零被计算为truthy。这就是导致过滤器不包括零的原因。
let numbers = [1,2,3,0,-1,4,0];
let result = _.filter(numbers, number => number >= 0);
console.log(result);<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>
https://stackoverflow.com/questions/49076723
复制相似问题