मान लीजिए हमारे पास ऑब्जेक्ट्स के दो ऐरे हैं जैसे ये -
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'}];हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसे दो ऐरे लेता है। हमारा फ़ंक्शन पहले ऐरे (इस मामले में arr1) का एक नया फ़िल्टर्ड वर्जन लौटाना चाहिए जिसमें केवल वे ऑब्जेक्ट्स हों जिनकी name प्रॉपर्टी दूसरे ऐरे (इस मामले में arr2) में समान name प्रॉपर्टी के साथ मौजूद नहीं है।
इसलिए, इस मामले में आउटपुट इस तरह दिखना चाहिए -
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' } ]