Reverse the words in the string that have an odd number of characters in JavaScript

JavascriptWeb DevelopmentFront End TechnologyObject Oriented Programming

We are required to write a JavaScript function that takes in a string and reverses the words in the string that have an odd number of characters in them.

Any substring in the string qualifies to be a word, if either it is encapsulated by two spaces on either ends or present at the end or beginning and followed or preceded by a space.

Example

The code for this will be −

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

Output

Following is the output on console −

olleh world, woh era uoy
raja
Published on 10-Oct-2020 11:12:14
Advertisements