反转素数长度的单词 - JavaScript


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

范例

以下是代码 -

const str = 'His father is an engineer by profession';
// helper functions
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

更新日期: 18-9-2020

174 浏览量

开启你的 职业生涯

通过完成该课程来获得认证

开始学习
广告