ปัญหา
ฟังก์ชัน JavaScript ที่รับสตริง str เป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์เดียว
การลบที่ซ้ำกันประกอบด้วยการเลือกตัวอักษรสองตัวที่อยู่ติดกันและเท่ากัน แล้วนำออก
เราทำการลบซ้ำใน string str ซ้ำๆ จนกว่าเราจะทำไม่ได้อีกต่อไป
และในที่สุดฟังก์ชันของเราควรจะส่งคืนสตริงสุดท้ายหลังจากลบที่ซ้ำกันทั้งหมดแล้ว
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −
const str = 'kllkmk';
จากนั้นผลลัพธ์ควรเป็น −
const output = 'mk';
คำอธิบายผลลัพธ์:
ประการแรก เราจะลบ 'll' ออกจากสตริงเพื่อลดขนาดเป็น 'kkmk' จากนั้นหลังจากลบ 'kk' เราจะคืนค่าสตริงใหม่
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const str = 'kllkmk'; const removeDuplicates = (str = '') => { const arr = []; for(const char of str){ if(char === arr[arr.length - 1]){ while(arr[arr.length - 1] === char){ arr.pop(); }; } else { arr.push(char); }; }; return arr.join(''); }; console.log(removeDuplicates(str));
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
mk