Chúng tôi được yêu cầu viết một hàm JavaScript lấy một chuỗi làm đầu vào và chỉ đảo ngược các nguyên âm của một chuỗi.
Ví dụ -
Nếu chuỗi đầu vào là -
const str = 'Hello';
Sau đó, đầu ra phải là -
const output = 'Holle';
Mã cho điều này sẽ là -
const str = 'Hello'; const reverseVowels = (str = '') => { const vowels = new Set(['a','e','i','o','u','A','E','I','O','U']); let left = 0, right = str.length-1; let foundLeft = false, foundRight = false; str = str.split(""); while(left < right){ if(vowels.has(str[left])){ foundLeft = true }; if(vowels.has(str[right])){ foundRight = true }; if(foundLeft && foundRight){ [str[left],str[right]] = [str[right],str[left]]; foundLeft = false; foundRight = false; }; if(!foundLeft) { left++ }; if(!foundRight) { right-- }; }; return str.join(""); }; console.log(reverseVowels(str));
Và đầu ra trong bảng điều khiển sẽ là -
Holle