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

หากองค์ประกอบเกิดซ้ำ ให้ลบอินสแตนซ์ทั้งหมดออกจากอาร์เรย์ใน JavaScript


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

ตัวอย่างเช่น หากอินพุตคือ −

const arr = [763,55,43,22,32,43,763,43];

ผลลัพธ์ควรเป็น −

const output = [55, 22, 32];

Array.prototype.indexOf():จะคืนค่าดัชนีของสตริงที่ค้นหาเกิดขึ้นครั้งแรกหากมีอยู่ มิฉะนั้น -1

Array.prototype.lastIndexOf():จะคืนค่าดัชนีของสตริงที่ค้นหาล่าสุดหากมีอยู่ มิฉะนั้น -1

ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const arr = [763,55,43,22,32,43,763,43];
const deleteDuplicate = (arr) => {
   const output = arr.filter((item, index, array) => {
      return array.indexOf(item) === array.lastIndexOf(item);
   });
   return output;
};
console.log(deleteDuplicate(arr));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

[ 55, 22, 32 ]