Javascript 如何针对FCC环境优化项目euler#10问题?

Javascript 如何针对FCC环境优化项目euler#10问题?,javascript,optimization,primes,Javascript,Optimization,Primes,//下面的代码在我的编辑器中生成准确的答案,但我希望优化代码以通过freecodecamp环境中的测试。有人能解释这个问题吗 function isPrime(param) { if (param == 2) { return true; } if (param % 2 == 0) { return

//下面的代码在我的编辑器中生成准确的答案,但我希望优化代码以通过freecodecamp环境中的测试。有人能解释这个问题吗

            function isPrime(param) {
                if (param == 2) {
                    return true;
                }
                if (param % 2 == 0) {
                    return false;
                }
                var max = Math.ceil(Math.sqrt(param));
                for (var i = 3; i <= max; i += 2) {
                    if (param % i == 0) {
                        return false;
                    }
                }
                return true;
            }


            function primeSummation(n) {
                var primeArr = [];
                for (var i = 2; i < n; i++) {
                    if (isPrime(i)) {
                        primeArr.push(i);
                    }
                }
                var sumArray = primeArr.reduce(function add(a, b) {
                    return a + b;
                }, 0);
                console.log(sumArray)
                return sumArray;
            }

            primeSummation(2000000);
函数isPrime(param){
如果(参数==2){
返回true;
}
如果(参数%2==0){
返回false;
}
var max=Math.ceil(Math.sqrt(param));

对于(var i=3;i当你有一个长范围的自然数(1…n)要检查它们是否为素数,那么像使用
isPrime
那样单独测试它们是没有效率的。在该范围内执行测试,然后从结果数组中计算总和将更有效。

您可以检查此项以确定数字是否为素数。
的正常
也比
re更好duce
欢迎来到StackOverflow。很高兴你加入了训练营。有很多东西需要学习,我祈祷着。如果你在寻找计算素数的最佳算法,这个问题在StackOverflow上已经得到了回答:我会给iPrime函数primarr,在你检查每一个奇数的素数的时候数