حذف المتكررات هي احد اهم الامور التي يجب علينا تعلمها , ولغة البرمجة جافاسكربت فيها طرق كثيرة تساعدنا في حذف المتكررات في الـ Array لكن اليوم رح نستعمل الأمرين indexOf والامر filter لحذف المتكررات.

لنقل عندنا array تحتوي على اسماء الطلاب في احد الفصول.

اذا استعملنا الامر indexOf على المصفوفة واعطيناه الاسم Sara رح يرجع لنا اول مكان يلاقي فيه اسم Sara. مثال:

let names = ['Ali', 'Basil', 'Sara', 'Ali', 'Noura', 'Sara'];
names.indexOf('Sara');

// Output 2

عشان نحذف المتكررات نستعمل filter عشان نرجع فقط العناصر اللي مكانها يساوي قيمة indexOf.

let names = ['Ali', 'Basil', 'Sara', 'Ali', 'Noura', 'Sara'];
let uniqueNames = names.filter((name, index) => {
    return names.indexOf(name) === index
})

// Output [ 'Ali', 'Basil', 'Sara', 'Noura' ]

وعشان ترجع القيم المتكررة فقط و نحذف الباقي , ممكن تعمل هذي الحركة بانه تاخذ القيم اللي مكانها لا يساوي indexOf وترجع لك القيم المتكررة فقط.

let dublicateNames = names.filter((name, index) => {
    return names.indexOf(name) !== index
})

اتمنى يكون شرح الفكرة كان بسيط . اذا اعجبك المقال وطريقة شرحي شوف المقالات الثانية الخاصة بالبرمجة.

Photo by Paweł Czerwiński on Unsplash