ধরুন আমাদের কাছে এই ধরনের বস্তুর দুটি অ্যারে আছে −
const arr1 = [{id:'1',name:'A'},{id:'2',name:'B'},{id:'3',name:'C'},{id:'4',name:'D'}]; const arr2 = [{id:'1',name:'A',state:'healthy'},{id:'3',name:'C',state:'healthy'}];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এই ধরনের দুটি অ্যারে নেয়। আমাদের ফাংশনটি প্রথম অ্যারের (এই ক্ষেত্রে arr1) এর একটি নতুন ফিল্টার করা সংস্করণ ফেরত দেবে যাতে শুধুমাত্র সেইসব বস্তু রয়েছে যার নাম বৈশিষ্ট্য রয়েছে যা একই নামের বৈশিষ্ট্য সহ দ্বিতীয় অ্যারে (এই ক্ষেত্রে arr2) তে নেই৷
অতএব, আউটপুট, এই ক্ষেত্রে, −
এর মত হওয়া উচিতconst output = [{id:'2',name:'B'},{id:'4',name:'D'}];
উদাহরণ
এর জন্য কোড হবে −
const arr1 = [{id:'1',name:'A'},{id:'2',name:'B'},{id:'3',name:'C'},{id:'4',name:'D'}]; const arr2 = [{id:'1',name:'A',state:'healthy'},{id:'3',name:'C',state:'healthy'}]; const filterByReference = (arr1, arr2) => { let res = []; res = arr1.filter(el => { return !arr2.find(element => { return element.id === el.id; }); }); return res; } console.log(filterByReference(arr1, arr2));
আউটপুট
এবং কনসোলে আউটপুট হবে −
[ { id: '2', name: 'B' }, { id: '4', name: 'D' } ]