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

Đảo ngược các từ trong chuỗi có số ký tự lẻ trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một chuỗi và đảo ngược các từ trong chuỗi có số ký tự lẻ trong đó.

Bất kỳ chuỗi con nào trong chuỗi đều đủ điều kiện là một từ, nếu nó được gói bằng hai dấu cách ở hai đầu hoặc có ở cuối hoặc đầu và theo sau hoặc trước dấu cách.

Ví dụ

Mã cho điều này sẽ là -

const str = 'hello world, how are you';
const idOdd = str => str.length % 2 === 1;
const reverseOddWords = (str = '') => {
   const strArr = str.split(' ');
   return strArr.reduce((acc, val) => {
      if(idOdd(val)){
         acc.push(val.split('').reverse().join(''));
         return acc;
      };
      acc.push(val);
      return acc;
   }, []).join(' ');
};
console.log(reverseOddWords(str));

Đầu ra

Sau đây là kết quả trên bảng điều khiển -

olleh world, woh era uoy