मान लीजिए, हमारे पास ऑब्जेक्ट्स की एक सरणी है जैसे -
const arr = [ {name: 'lorem', age: 20, color:'red'}, {name: 'lorem', weight: 1, height:5} , {name: 'hello', ipsum : 'dolor'} ];हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसी ऑब्जेक्ट्स की सरणी लेता है। फ़ंक्शन को उन ऑब्जेक्ट्स के सभी गुणों को ग्रुप करना चाहिए जिनमें "name" गुण का मान समान है।
उदाहरण के लिए -
उपरोक्त सरणी के लिए, आउटपुट इस तरह दिखना चाहिए -
const output = [ {name: 'lorem', age : 20, color: 'red', weight : 1, height : 5}, {name: 'hello', ipsum : 'dolor'} ];उदाहरण
इसके लिए कोड होगा -
const arr = [ {name: 'lorem', age: 20, color:'red'}, {name: 'lorem', weight: 1, height:5} , {name: 'hello', ipsum : 'dolor'} ]; const mergeList = (arr = []) => { const temp = {}; arr.forEach(elem => { let name = elem.name; delete elem.name; temp[name] = { ...temp[name], ...elem }; }); const res = []; Object.keys(temp).forEach(key => { let object = temp[key]; object.name = key; res.push(object); }); return res; }; console.log(mergeList(arr));आउटपुट
कंसोल में आउटपुट होगा -
[ { age: 20, color: 'red', weight: 1, height: 5, name: 'lorem' }, { ipsum: 'dolor', name: 'hello' } ]