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

JavaScript में दो अलग-अलग आकार के ऑब्जेक्ट ऐरे को की द्वारा कैसे मर्ज करें


मान लीजिए, हमारे पास ऐसा ऑब्जेक्ट है -

const obj = {   "part1": [{"id": 1, "a": 50},{"id": 2, "a": 55},{"id": 4, "a": 100}],   "part2":[{"id": 1, "b": 40}, {"id": 3, "b": 45}, {"id": 4, "b": 110}] };

हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसा ऑब्जेक्ट लेता है। फ़ंक्शन को ऑब्जेक्ट के part1 और part2 को मर्ज करके ऑब्जेक्ट्स का एक ऐरे बनाना चाहिए जैसे कि -

const output = [   {"id": 1, "a": 50, "b": 40},   {"id": 2, "a": 55},   {"id": 3, "b": 45},   {"id": 4, "a": 100, "b": 110} ];

उदाहरण

इसका कोड होगा -

const obj = {   "part1": [{"id": 1, "a": 50},{"id": 2, "a": 55},{"id": 4, "a": 100}],   "part2":[{"id": 1, "b": 40}, {"id": 3, "b": 45}, {"id": 4, "b": 110}] }; const mergeObject = (obj = {}) => {   let result = [];   result = Object.keys(obj).reduce(function (hash) {     return function (r, k) {       obj[k].forEach(function (o) {         if (!hash[o.id]) {           hash[o.id] = {};           r.push(hash[o.id]);         }         Object.keys(o).forEach(function (l) {           hash[o.id][l] = o[l];         });       });       return r;     };   }(Object.create(null)), []).sort((a, b) => {     return a['id'] - b['id'];   });   return result; }; console.log(mergeObject(obj));

आउटपुट

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

[   { id: 1, a: 50, b: 40 },   { id: 2, a: 55 },   { id: 3, b: 45 },   { id: 4, a: 100, b: 110 } ]

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

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

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

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

  1. क्या हम दो ऐरे को एक जावास्क्रिप्ट ऑब्जेक्ट में बदल सकते हैं? क्या हम दो ऐरे को एक जावास्क्रिप्ट ऑब्जेक्ट में बदल सकते हैं?

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