反转素数词-JavaScript

我们需要编写一个JavaScript函数,该函数接受一个包含由空格连接的字符串的字符串。我们的函数应该创建一个新字符串,该字符串应包含原始字符串中的所有单词以及其长度是质数的单词颠倒,即长度为2、3、5、7、100等的单词。

示例

以下是代码-

const str = 'His father is an engineer by profession';
//辅助功能
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 reverseString = str => str.split('').reverse().join('');
const reversePrime = str => {
   return str.split(' ').reduce((acc, val) => {
      const { length } = val;
      if(isPrime(length)){
         acc += reverseString(val)+' ';
      }else{
         acc += val+' ';
      };
      return acc;
   }, '');
};
console.log(reversePrime(str));

输出结果

以下是控制台中的输出-

siH father si na engineer yb profession