首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Lodash只过滤负数并包含零

Lodash只过滤负数并包含零
EN

Stack Overflow用户
提问于 2018-03-02 20:18:21
回答 1查看 1.7K关注 0票数 0

使用lodash,目标是过滤负数。但是,由于某些原因,下面的代码也会过滤零。为什么会发生这种情况,我怎么能包括零呢?我尝试过将>=更改为>,但这仍然不起作用(这显然是错误的)。

代码语言:javascript
运行
复制
let numbers =  [1,2,3,0,-1,4,0];

_.filter(numbers, (number) => {
     if (number >= 0) {
          return number;
     } 
 });

输出:

代码语言:javascript
运行
复制
[1,2,3,4]

我怎么才能包括零呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-02 20:22:54

您只需要在if语句中返回布尔表达式。

代码语言:javascript
运行
复制
let result = _.filter(numbers, number => number >= 0);

您的代码返回数值,其中零被计算为falsy,而非零被计算为truthy。这就是导致过滤器不包括零的原因。

代码语言:javascript
运行
复制
let numbers =  [1,2,3,0,-1,4,0];

let result = _.filter(numbers, number => number >= 0);

console.log(result);
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49076723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档