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.