เราควรเขียนฟังก์ชันที่ใช้อาร์เรย์ของตัวเลข/สตริงตามตัวอักษร ฟังก์ชันควรลบองค์ประกอบที่ซ้ำซ้อนที่ต่อเนื่องกันทั้งหมดของอาร์เรย์โดยไม่ต้องใช้พื้นที่หน่วยความจำเพิ่มเติม
ตัวอย่างเช่น หากอาร์เรย์อินพุตคือ −
const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1];
จากนั้นผลลัพธ์ควรเป็น −
const output = [17, 12, 354, 1];
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1]; const comp = (arr, len = 0, deletable = false) => { if(len < arr.length){ if(deletable){ arr.splice(len, 1); len--; } return comp(arr, len+1, arr[len] === arr[len+1]) }; return; }; comp(arr); console.log(arr);
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ในคอนโซล -
[ 17, 12, 354, 1 ]