Joining two strings with two words at a time - JavaScript


We are required to write a JavaScript function that takes in two strings, creates and returns a new string with first two words of first string, next two words of second string, then first, then second and so on.

For example −

If the strings are −

const str1 = 'Hello world';
const str2 = 'How are you btw';

Then the output should be −

const output = 'HeHollw o arwoe rlyodu btw';

Example

Let us write the code for this function −

const str1 = 'Hello world';
const str2 = 'How are you btw';
const twiceJoin = (str1 = '', str2 = '') => {
   let res = '', i = 0, j = 0, temp = '';
   for(let ind = 0; i < str1.length; ind++){
      if(ind % 2 === 0){
         temp = (str1[i] || '') + (str1[i+1] || '')
         res += temp;
         i += 2;
      }else{
         temp = (str2[j] || '') + (str2[j+1] || '')
         res += temp;
         j += 2;
      }
   };
   while(j < str2.length){
      res += str2[j++];
   };
   return res;
};
console.log(twiceJoin(str1, str2));

Output

Following is the output in the console −

HeHollw o arwoe rlyodu btw

Updated on: 18-Sep-2020

96 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements