Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Đảo ngược nguyên âm trong chuỗi JavaScript

Chúng ta cần viết hàm JavaScript nhận vào chuỗi và chỉ đảo ngược các nguyên âm trong chuỗi.

Ví dụ:

Nếu chuỗi đầu vào là:

const str = 'Hello';

Kết quả đầu ra:

const output = 'Holle';

Mã thực hiện:

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));

Kết quả in ra console:

Holle