Computer >> Máy Tính >  >> Lập trình >> Javascript

Đảo ngược các từ có độ dài nguyên tố - JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận trong một chuỗi có chứa các chuỗi được nối bởi các khoảng trắng. Hàm của chúng ta sẽ tạo một chuỗi mới có tất cả các từ từ chuỗi ban đầu và các từ có độ dài là một số nguyên tố được đảo ngược, tức là các từ có độ dài 2, 3, 5, 7, 100, v.v.

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra trong bảng điều khiển -

siH father si na engineer yb profession