数组中的所有素数之和 - JavaScript


我们需要编写一个 JavaScript 函数,用于接收一个数字数组。

该函数应该返回数组中存在的所有素数之和。

假设我们的数组如下:

const arr = [43, 6, 6, 5, 54, 81, 71, 56, 8, 877, 4, 4];

该函数应该对素数求和,即:

43 + 5 + 71 + 877 = 996

示例

以下为该代码:

const arr = [43, 6, 6, 5, 54, 81, 71, 56, 8, 877, 4, 4];
const isPrime = n => {
   if (n===1){
      return false;
   }else if(n === 2){
      return true;
   }else{
      for(let x = 2; x < n; x++){
         if(n % x === 0){
            return false;
         }
      }
      return true;
   };
};
const primeSum = arr => {
   let sum = 0;
   for(let i = 0; i < arr.length; i++){
      if(!isPrime(arr[i])){
         continue;
      };
      sum += arr[i];
   };
   return sum;
};
console.log(primeSum(arr));

输出

在控制台中将生成以下输出:

996

更新于: 30-Sep-2020

898 次浏览

开启你的职业生涯

通过完成课程获得认证

开始
广告