我想过滤包含零 (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 返回 true
或 false
功能。根据返回值,它将填充返回的数组。由于条件返回 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/