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