เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์สองอาร์เรย์ของค่าคงที่ ฟังก์ชันควรคืนค่าอาร์เรย์แรกที่กรองแล้ว โดยเก็บเฉพาะองค์ประกอบที่มีอยู่ในอาร์เรย์แรกแต่ไม่อยู่ในอาร์เรย์ที่สอง
เราจะใช้เมธอด Array.prototype.filter() และตรวจสอบองค์ประกอบในอาร์เรย์ที่สองด้วย Array.prototype.includes()
ตัวอย่างโค้ด
โค้ดสำหรับการทำงานนี้จะเป็นดังนี้
const arr1 = [1,2,3,4,5]; const arr2 = [1,3,5];
const filterUnwanted = (arr1 = [], arr2 = []) => {
let filtered = [];
filtered = arr1.filter(el => {
const index = arr2.indexOf(el);
// index -1 หมายถึงองค์ประกอบไม่อยู่ในอาร์เรย์ที่สอง
return index === -1;
});
return filtered;
};
console.log(filterUnwanted(arr1, arr2));ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้
[2, 4]