Created
August 11, 2021 18:58
-
-
Save tobi-bams/f70465f0dbfda1dcbc066c2be4f53b47 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const reverseVowels = (word) => { | |
if (typeof word !== 'string') return "Invalid Input Parameter"; | |
let start = 0; | |
let end = word.length - 1; | |
let vowels = { | |
a: true, | |
e: true, | |
i: true, | |
o: true, | |
u: true, | |
A: true, | |
E: true, | |
I: true, | |
O: true, | |
U: true, | |
}; | |
let arrayOfLetter = [...word]; | |
while (start <= end) { | |
let placeholder = null; | |
if (vowels[arrayOfLetter[start]] && vowels[arrayOfLetter[end]]) { | |
placeholder = arrayOfLetter[start]; | |
arrayOfLetter[start] = arrayOfLetter[end]; | |
arrayOfLetter[end] = placeholder; | |
start++; | |
end--; | |
} else if (vowels[arrayOfLetter[start]] && !vowels[arrayOfLetter[end]]) { | |
end--; | |
} else if (vowels[arrayOfLetter[end]] && !vowels[arrayOfLetter[start]]) { | |
start++; | |
} else { | |
start++; | |
end--; | |
} | |
} | |
return arrayOfLetter.join(""); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment