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

Uncamelising สตริงใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงเป็นอาร์กิวเมนต์แรก และอักขระตัวคั่นเป็นอาร์กิวเมนต์ที่สอง

สตริงแรกได้รับการรับรองว่าเป็นสตริง camelCased ฟังก์ชันควรแปลงตัวพิมพ์ของสตริงโดยแยกคำโดยใช้ตัวคั่นที่ให้ไว้เป็นอาร์กิวเมนต์ที่สอง

ตัวอย่างเช่น −

หากสตริงอินพุตเป็น −

const str = 'thisIsAString';
const separator = '_';

จากนั้นสตริงเอาต์พุตควรเป็น −

const output = 'this_is_a_string';

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const str = 'thisIsAString';
const separator = '_';
const separateCase = (str = '', separator = ' ') => {
   const arr = [];
   let left = 0, right = 0;
   for(let i = 0; i < str.length; i++){
      const el = str[i];
      const next = str[i + 1];
      if((el.toUpperCase() === el && el.toUpperCase() !== el.toLowerCase()) || !next){
         right = i + Number(!next);
      };
      if(left !== right){
         const sub = str.substring(left, right).toLowerCase();
         arr.push(sub);
         left = right;
      };
   };
   return arr.join(separator);
};
console.log(separateCase(str, separator));

ผลลัพธ์

ต่อไปนี้เป็นผลลัพธ์บนคอนโซล -

this_is_a_string