เรามีอาร์เรย์ของตัวอักษร Number / String ที่มีค่าที่ซ้ำกัน เราจำเป็นต้องลบค่าเหล่านี้ออกจากอาร์เรย์โดยไม่ต้องสร้างอาร์เรย์ใหม่หรือเก็บค่าที่ซ้ำกันไว้ที่อื่น
เราจะใช้เมธอด Array.prototype.splice() เพื่อลบรายการแทนที่ และเราจะช่วยเมธอด Array.prototype.indexOf() และ Array.prototype.lastIndexOf() เพื่อกำหนดความซ้ำซ้อนขององค์ประกอบใดๆ
ตัวอย่าง
const arr = [1, 4, 6, 1, 2, 5, 2, 1, 6, 8, 7, 5]; arr.forEach((el, ind, array) => { if(array.indexOf(el) !== array.lastIndexOf(el)){ array.splice(ind, 1); } }); console.log(arr);
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
[ 4, 1, 5, 2, 6, 8, 7 ]