मान लीजिए कि हमारे पास इस तरह की वस्तुओं की दो सरणियाँ हैं -
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' } ]