Computer >> Máy Tính >  >> Lập trình >> Javascript

Chỉ đảo ngược các phụ âm từ một chuỗi trong JavaScript

Vấn đề

Chúng tôi bắt buộc phải viết một hàm JavaScript lấy một chuỗi các bảng chữ cái tiếng Anh viết thường làm đối số duy nhất.

Hàm phải tạo một chuỗi mới trong đó thứ tự của các phụ âm được đảo ngược và các nguyên âm giữ vị trí tương đối của chúng.

Ví dụ:nếu đầu vào của hàm là -

const str = 'somestring';

Sau đó, đầu ra phải là -

const output = 'gomenrtiss';

Ví dụ

Mã cho điều này sẽ là -

const str = 'somestring';
const reverseConsonants = (str = '') => {
   const arr = str.split("");
   let i = 0, j = arr.length - 1;
   const consonants = 'bcdfghjklnpqrstvwxyz';
   while(i < j){
      while(i < j && consonants.indexOf(arr[i]) < 0) {
         i++;
      }
      while(i< j && consonants.indexOf(arr[j]) < 0) {
         j--;
      }
      let tmp = arr[i];
      arr[i] = arr[j];
      arr[j] = tmp;
      i++;
      j--;
   }
   let result = "";
   for(let i = 0; i < arr.length; i++) {
      result += arr[i];
   }
   return result;
};
console.log(reverseConsonants(str));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

gomenrtiss