मान लीजिए, हमारे पास वस्तुओं की निम्नलिखित सरणी है -
const arr = [ { "date" : "2010-01-01", "price" : 30 }, { "date" : "2010-02-01", "price" : 40 }, { "date" : "2010-03-01", "price" : 50 }, { "date" : "2010-01-01", "price2" : 45 }, { "date" : "2010-05-01", "price2" : 40 }, { "date" : "2010-10-01", "price2" : 50 } ];
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो ऐसी एक सरणी लेता है। फिर फ़ंक्शन को ऑब्जेक्ट्स की "डेट" प्रॉपर्टी के आधार पर ऑब्जेक्ट्स को मर्ज करना चाहिए।
उदाहरण
const arr = [ { "date" : "2010-01-01", "price" : 30 }, { "date" : "2010-02-01", "price" : 40 }, { "date" : "2010-03-01", "price" : 50 }, { "date" : "2010-01-01", "price2" : 45 }, { "date" : "2010-05-01", "price2" : 40 }, { "date" : "2010-10-01", "price2" : 50 } ]; const mergeArray = (arr = []) => { const data = arr.slice(); data.sort((a, b) => new Date(a.date) - new Date(b.date)) const res = [] data.forEach(el => { if(!this[el.date]) { this[el.date] = { date: el.date, price: null, price2: null } res.push(this[el.date]) } this[el.date] = Object.assign(this[el.date], el) }); return res; } console.log(JSON.stringify(mergeArray(arr), undefined, 4));
आउटपुट
और कंसोल में आउटपुट होगा -
[ { "date": "2010-01-01", "price": 30, "price2": 45 }, { "date": "2010-02-01", "price": 40, "price2": null }, { "date": "2010-03-01", "price": 50, "price2": null }, { "date": "2010-05-01", "price": null, "price2": 40 }, { "date": "2010-10-01", "price": null, "price2": 50 } ]