Lọc mảng dựa trên mảng khác trong JavaScript
Giả sử chúng ta có hai mảng giá trị nguyên thủy như sau:
const arr1 = [4, 23, 7, 6, 3, 6, 4, 3, 56, 4]; const arr2 = [4, 56, 23];
Chúng ta cần viết một hàm JavaScript nhận vào hai mảng này và lọc mảng đầu tiên để chỉ chứa những phần tử không có trong mảng thứ hai. Sau đó trả về mảng đã lọc.
Do đó, kết quả đầu ra nên trông như:
const output = [7, 6, 3, 6, 3];
Do đó, hãy viết mã cho hàm này:
Ví dụ
Mã thực hiện như sau:
const arr1 = [4, 23, 7, 6, 3, 6, 4, 3, 56, 4];
const arr2 = [4, 56, 23];
const filterArray = (arr1, arr2) => {
const filtered = arr1.filter(el => {
return arr2.indexOf(el) === -1;
});
return filtered;
};
console.log(filterArray(arr1, arr2));
Đầu ra
Kết quả trong console sẽ là:
[ 7, 6, 3, 6, 3 ]