【发布时间】:2021-08-13 19:00:53
【问题描述】:
我了解有关此代码的所有内容(或者至少我认为我了解),除了它在新的过滤数组中包含数字“2”这一事实。我知道代码应该返回所有素数,但如果 (num % i == 0) { return false },不应该让它跳过数字“2”吗?
const array = [-3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
function isPrime(num) {
for (let i = 2; num > i; i++) {
if (num % i == 0) {
return false;
}
}
return num > 1;
}
console.log(array.filter(isPrime)); // [2, 3, 5, 7, 11, 13]
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
【问题讨论】:
标签: javascript callback higher-order-functions