Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การกลับพยัญชนะจากสตริงใน JavaScript . เท่านั้น


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้สตริงของตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเป็นอาร์กิวเมนต์เดียว

ฟังก์ชันควรสร้างสตริงใหม่โดยที่ลำดับของพยัญชนะกลับด้านและสระถือตำแหน่งที่สัมพันธ์กัน

ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −

const str = 'somestring';

จากนั้นผลลัพธ์ควรเป็น −

const output = 'gomenrtiss';

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

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

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

gomenrtiss