Chúng ta cần viết một hàm JavaScript nhận hai mảng chứa các giá trị nguyên thủy. Hàm trả về phiên bản đã lọc của mảng đầu tiên, chỉ chứa các phần tử có trong mảng đầu tiên nhưng không có trong mảng thứ hai.
Chúng ta sẽ sử dụng Array.prototype.filter() và kiểm tra sự tồn tại trong mảng thứ hai bằng Array.prototype.includes() (hoặc indexOf).
Ví dụ
Mã thực hiện:
const arr1 = [1,2,3,4,5];
const arr2 = [1,3,5];
const filterUnwanted = (arr1 = [], arr2 = []) => {
let filtered = arr1.filter(el => {
const index = arr2.indexOf(el);
// index -1 nghĩa là phần tử không có trong mảng thứ hai
return index === -1;
});
return filtered;
};
console.log(filterUnwanted(arr1, arr2));
Kết quả
Kết quả trong console:
[2, 4]