Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Xóa hoàn toàn phần tử trùng lặp khỏi mảng - JavaScript

Viết hàm xóa hoàn toàn các phần tử xuất hiện > 1 lần, chỉ giữ lại phần tử duy nhất (xuất hiện đúng 1 lần).

Ví dụ

Đầu vào: [763, 55, 43, 22, 32, 43, 763, 43]

763 (2 lần), 43 (3 lần) → xóa hết

55, 22, 32 (1 lần) → giữ lại

Kết quả: [55, 22, 32]

Giải pháp

Mã triển khai dùng filter + indexOf/lastIndexOf:

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

const deleteDuplicate = arr => 
  arr.filter((item, index, array) => 
    array.indexOf(item) === array.lastIndexOf(item)
  );

console.log(deleteDuplicate(arr));

Kết quả

Đầu ra trong console:

[55, 22, 32]

Tối ưu O(n): Dùng Map đếm tần suất trước, sau đó filter.