Advertisement
didkoslawow

Untitled

Mar 23rd, 2023 (edited)
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function mirrorWords(input) {
  2.   const string = input.shift();
  3.   const pattern = /([@#])(?<word>[A-Za-z]{3,})\1{2}(?<word1>[A-Za-z]{3,})\1/gm;
  4.   const validPairs = [];
  5.   let match;
  6.  
  7.   while ((match = pattern.exec(string))) {
  8.     validPairs.push(match.groups);
  9.   }
  10.  
  11.   console.log(
  12.     validPairs.length
  13.       ? `${validPairs.length} word pairs found!`
  14.       : 'No word pairs found!'
  15.   );
  16.  
  17.   const mirrorWords = validPairs.filter((p) => isMirrorWord(p));
  18.  
  19.   if (mirrorWords.length) {
  20.     console.log('The mirror words are:');
  21.     console.log(
  22.       mirrorWords.map((pair) => `${pair.word} <=> ${pair.word1}`).join(', ')
  23.     );
  24.   } else {
  25.     console.log('No mirror words!');
  26.   }
  27.  
  28.   function isMirrorWord(pair) {
  29.     return pair.word === pair.word1.split('').reverse().join('');
  30.   }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement