मान लीजिए, हमारे पास इस तरह की वस्तुओं की दो सरणियाँ हैं -
const arr1 = [ {id:'124',name:'qqq'}, {id:'589',name:'www'}, {id:'45',name:'eee'}, {id:'567',name:'rrr'} ]; const arr2 = [ {id:'124',name:'ttt'}, {id:'45',name:'yyy'} ];
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो ऐसी वस्तुओं को लेता है। हमारे फ़ंक्शन को दूसरी सरणी में मौजूद समान "id" गुण वाली वस्तुओं के लिए पहली सरणी खोजनी चाहिए।
फिर हमारे फ़ंक्शन को उन वस्तुओं की "नाम" संपत्ति को दूसरी सरणी की वस्तुओं की संबंधित "नाम" संपत्ति से बदलना चाहिए।
इसलिए, उपरोक्त सरणियों के लिए, आउटपुट इस तरह दिखना चाहिए -
const output = [ {id:'124',name:'ttt'}, {id:'589',name:'www'}, {id:'45',name:'yyy'}, {id:'567',name:'rrr'} ];
उदाहरण
इसके लिए कोड होगा -
const arr1 = [ {id:'124',name:'qqq'}, {id:'589',name:'www'}, {id:'45',name:'eee'}, {id:'567',name:'rrr'} ]; const arr2 = [ {id:'124',name:'ttt'}, {id:'45',name:'yyy'} ]; const replaceByOther = (arr1, arr2) => { for(let i = 0; i < arr1.length; i++){ const el = arr1[i]; const index = arr2.findIndex(elm => el['id'] === elm['id']); if(index === -1){ continue; }; else['name'] = arr2[index]['name']; }; }; replaceByOther(arr1, arr2); console.log(arr1);
आउटपुट
और कंसोल में आउटपुट होगा -
[ { id: '124', name: 'ttt' }, { id: '589', name: 'www' }, { id: '45', name: 'yyy' }, { id: '567', name: 'rrr' } ]