Giải thích hàm loại bỏ những phần tử bị lặp lại trong mảng có sử dụng filter

Em chào mng! E đang tự học về javascript và không hiểu đoạn code này lắm. Mọi người có thể giải thích cho e được không? Em cảm ơn ạ!

// Hàm loại bỏ những phần tử bị lặp lại trong mảng
function removeDuplicate(array) {
    return array.filter(function(item, index){
       return  array.indexOf(item) === index;
    });
}

Hàm filter là hàm giữ lại :smiley:

5 Likes

filter là hàm “lọc” mảng
Lọc những phần tử nào có vị trí xuất hiện đầu tiên bằng vị trí đang xét
Ví dụ mảng a = [1, 2, 3, 1, 5, 0] thì a.indexOf(1) == 0, a.indexOf(0) == 5`.

index = 3 thì item = a[index] == 1 nên indexOf(item) == 0 ≠ 3 => bị lọc

7 Likes

e hiểu r ạ, e cảm ơn ^^

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?