TZinovieva

Mirror Words JS Fundamentals

Mar 24th, 2023 (edited)
708
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function mirrorWords(arr) {
  2.     let pattern = /([@#])(?<group>(?<word1>[a-zA-Z]{3,})\1\1(?<word2>[a-zA-Z]{3,}))\1/g;
  3.     let pairs = [];
  4.     let mirrorWords = [];
  5.    
  6.     while ((validPattern = pattern.exec(arr)) !== null) {
  7.         let wordPairs = validPattern.groups['group'];
  8.         pairs.push(wordPairs);
  9.         let wordOne = validPattern.groups['word1'];
  10.         let wordTwo = validPattern.groups['word2'];
  11.         let reversed = '';
  12.         for (let i = wordTwo.length - 1; i >= 0; i--) {
  13.             reversed += wordTwo[i];
  14.         }
  15.         if (wordOne === reversed) {
  16.             mirrorWords.push(`${wordOne} <=> ${wordTwo}`);
  17.         }
  18.     }
  19.     pairs.join(' ');
  20.  
  21.     if (pairs.length > 0) {
  22.     console.log(`${pairs.length} word pairs found!`);
  23.     } else {
  24.         console.log("No word pairs found!");
  25.     }
  26.  
  27.     if (mirrorWords.length === 0) {
  28.         console.log("No mirror words!");
  29.     } else {
  30.         console.log(`The mirror words are:\n${mirrorWords.join(', ')}`);
  31.     }
  32. }
Advertisement
Add Comment
Please, Sign In to add comment