javascript - 从数组中过滤偶数

标签 javascript arrays filter

我想过滤包含零 (0) 的数组,同时捕获它们:

var arr1 = [-200, -163, -26, -4, 0, 7, 76];

var evens = arr1.filter(function(x) {
  if (x % 2 === 0 || x === 0) {
    return x;
  }
})

console.log(evens);

为什么我的 evens 数组中没有返回零?如果零不被归类为偶数,我不应该:

|| x === 0

语句捕获零?

最佳答案

您需要从 Array#filter 返回 truefalse功能。根据返回值,它将填充返回的数组。由于条件返回 boolean,因此您只需将返回值设置为条件即可。

var arr1 = [-200, -163, -26, -4, 0, 7, 76];

var evens = arr1.filter(function(x) {
   return x % 2 === 0;
})

console.log(evens);

带有箭头函数的更短语法

var arr1 = [-200, -163, -26, -4, 0, 7, 76];

var evens = arr1.filter(x => x % 2 === 0);

console.log(evens);

关于javascript - 从数组中过滤偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51876350/

相关文章:

javascript - Twitter Bootstrap 上非事件选项卡内的模式

javascript - knockout : multiple select with objects not working

javascript - 如何创建一个计数器,从数组中收集值作为参数传递?

javascript - 我如何在 ng-model AngularJS 中使用过滤器

iOS - 帮助使用 [NSPredicate predicateWithFormat]

php - 寻找可以测试其他人的成人图像的裸体图像过滤器

javascript - 设置 React 项目 : What does Babelify do?

javascript - React.Component 和 React.PureComponent 表现出不同的行为

c - 如何从c中的库传递数组

java - 为什么这是数组越界异常?