陣列中的所有素數之和 - 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 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告