Discuss / JavaScript / Exercise

Exercise

Topic source

看了一些别的答案,大都是对每个element都做了一次判断是否为素数的操作,感觉计算次数会比直接过滤2的倍数、3的倍数以此类推的多。 _MY_GLOBAL.get_primes = function(arr) { arr = arr.filter(function (x) { return x !== 1; }); var f = 2; while (f - Math.sqrt(_MY_GLOBAL.getMaxOfArray(arr)) < 1e-10) { arr = arr.filter(function(x) { return x % f !== 0 || x === f; }); f++; } return arr; };


  • 1

Reply