Discuss / JavaScript / 打卡交作业

打卡交作业

Topic source

请尝试用filter()筛选出素数

function get_primes(arr) { 
   vartell_prime=function (x) {//1.创建一个函数可以判断单个数字是不是质数
         varmax_div=Math.floor(Math.sqrt(x)); //1.1用平方差找到一个数字最大可能除数
         vardiv_arr=[...Array(max_div+1).keys()].slice(2); //1.2创造一个range:从2到最大除数
         var div_result_arr=div_arr.filter((y)=>(x%y===0)); //1.3用filter得到能整除该数字的所有除数
         if((div_result_arr.length===0) &&(x>=2)) {return true;} else {returnfalse;}}; //1.4如果找不到这样的除数并且该数字本身不是1,则返回true
return arr.filter(tell_prime) //2.应用利用上述函数到整个inputarray
}

  • 1

Reply