Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

कैसे जावास्क्रिप्ट में एक में वस्तुओं के साथ दो सरणियों को मर्ज करने के लिए?

<घंटा/>

मान लीजिए, हमारे पास इस तरह की वस्तुओं की दो सरणियाँ हैं -

const arr1 = [
   {name:'test', lastname: 'test', gender:'f'},
   {name:'test1', lastname: 'test1', gender:'f'},
   {name:'test2', lastname: 'test2', gender:'m'}
];
const arr2 = [
   {name:'test21', lastname: 'test21', gender:'f'},
   {name:'test1', lastname: 'test1', gender:'f'},
   {name:'test2', lastname: 'test2', gender:'m'},
   {name:'test22', lastname: 'test22', gender:'m'}
];

इन सरणियों में कोई दोहराई जाने वाली वस्तु नहीं है ('नाम' संपत्ति के आधार पर दोहराते हुए) लेकिन पहली और दूसरी वस्तुओं में दोहराए जाने वाले नामों के साथ कुछ वस्तुएं मौजूद हैं।

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो दो ऐसी सरणियों को लेता है और एक नया सरणी देता है।

नई सरणी में पहली और दूसरी सरणी दोनों की सभी अनूठी वस्तुएं होनी चाहिए। यहां, किसी भी वस्तु की विशिष्टता की जांच करने के लिए हम उसकी अनूठी "नाम" संपत्ति की जांच करेंगे।

उदाहरण

इसके लिए कोड होगा -

const arr1 = [
   {name:'test', lastname: 'test', gender:'f'},
   {name:'test1', lastname: 'test1', gender:'f'},
   {name:'test2', lastname: 'test2', gender:'m'}
];
const arr2 = [
   {name:'test21', lastname: 'test21', gender:'f'},
   {name:'test1', lastname: 'test1', gender:'f'},
   {name:'test2', lastname: 'test2', gender:'m'},
   {name:'test22', lastname: 'test22', gender:'m'}
];
const mergeUniquely = (arr1 = [], arr2 = []) => {
   const newArr = arr1.concat(arr2);
   const map = {};
   const res = [];
   newArr.forEach(el => {
      if(!map[el['name']]){
         res.push(el);
         map[el['name']] = 1;
      };
   });
   return res;
};
console.log(mergeUniquely(arr1, arr2));

आउटपुट

और कंसोल में आउटपुट होगा -

[
   { name: 'test', lastname: 'test', gender: 'f' },
   { name: 'test1', lastname: 'test1', gender: 'f' },
   { name: 'test2', lastname: 'test2', gender: 'm' },
   { name: 'test21', lastname: 'test21', gender: 'f' },
   { name: 'test22', lastname: 'test22', gender: 'm' }
]

  1. दो जावास्क्रिप्ट ऑब्जेक्ट्स को कैसे मर्ज करें?

    दो जावास्क्रिप्ट ऑब्जेक्ट्स को एक साथ मर्ज करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title&

  1. जावास्क्रिप्ट में दो ऐरे कैसे गुणा करें?

    जावास्क्रिप्ट में दो सरणियों को गुणा करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Doc

  1. जावास्क्रिप्ट के साथ ऑब्जेक्ट्स को एक ऑब्जेक्ट ऐरे में कैसे मर्ज करें?

    ऑब्जेक्ट्स को एक ऑब्जेक्ट एरे में मर्ज करने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>D