ปัญหา
ฟังก์ชัน 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