मान लीजिए, हमारे पास इस तरह की वस्तुओं के दो बच्चे और माता-पिता JSON सरणियाँ हैं -
const child = [{ id: 1, name: 'somename', parent: { id: 2 }, }, { id: 2, name: 'some child name', parent: { id: 4 } }]; const parent = [{ id: 1, parentName: 'The first', child: {} }, { id: 2, parentName: 'The second', child: {} }, { id: 3, parentName: 'The third', child: {} }, { id: 4, parentName: 'The fourth', child: {} }];
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो इन दो सरणियों को लेता है।
और हमारे फ़ंक्शन को चाइल्ड ऐरे ऑब्जेक्ट को संबंधित पैरेंट ऑब्जेक्ट में मर्ज करना चाहिए।
इसलिए, अंतिम आउटपुट कुछ इस तरह दिखना चाहिए -
const output = [ { id: 1, parentName: The first, child: {} }, { id: 2, parentName: The second, child: { id: 1, name: somename, } }, { id: 3, parentName: The third, child: {} }, { id: 4, parentName: The fourth, child: { id: 2 name: some child name, } }, ];
उदाहरण
इसके लिए कोड होगा -
const child = [{ id: 1, name: 'somename', parent: { id: 2 }, }, { id: 2, name: 'some child name', parent: { id: 4 } }]; const parent = [{ id: 1, parentName: 'The first', child: {} }, { id: 2, parentName: 'The second', child: {} }, { id: 3, parentName: 'The third', child: {} }, { id: 4, parentName: 'The fourth', child: {} }]; const combineParentChild = (parent, child) => { const combined = []; for (let i = 0; i < parent.length; i++) { for (let j = 0; j < child.length; j++) { if (child[j].parent.id === parent[i].id) { parent[i].child.id = child[j].id; parent[i].child.name = child[j].name; break; }; }; combined.push(parent[i]) }; return combined; }; console.log(combineParentChild(parent, child));
आउटपुट
और कंसोल में आउटपुट होगा -
[ { id: 1, parentName: 'The first', child: {} }, { id: 2, parentName: 'The second', child: { id: 1, name: 'somename' } }, { id: 3, parentName: 'The third', child: {} }, { id: 4, parentName: 'The fourth', child: { id: 2, name: 'some child name' } } ]