有没有办法在一行中获取素数 我的任务是在一行中获取数组中最大的素数,这可能吗?!
Given an array of numbers. Create a function which returns the largest prime number. (NOTE*,
it should be written only 1 line of code). (2)
let arr1 = [1,5,7,6,9,10,13,11,12]
function largestPrime(arr) {
// write your code here... }
}
参考@Sergio 对问题的精彩回答:JavaScript 中的数字素数测试。您可以过滤数组中的素数,然后使用 Math.max 函数获取最大的素数。
let arr1 = [1,5,7,6,9,10,13,11,12]
function largestPrime(arr) {
return Math.max(...arr.filter((n) => { return ![...Array(n).keys()].slice(2).map(i => !(n%i)).includes(true) && ![0,1].includes(n) }));
}
console.log(largestPrime(arr1));
函数最大Prime(arr) { return Math.max(...arr.filter((n) => Array.from({length: Math.min(n, 6)}, (_,index) => index + 2).every(i = > n % i && ![0,1].includes(n)))) } 我认为对于质数,我们不必循环遍历数组直到该数字,我们只需检查 2 到 7 之间的数字,不包括 0 和 1,它们涵盖了所有数字