मान लीजिए हमारे पास दो ऐरे हैं जो कुछ कैशफ्लो का वर्णन करते हैं:
const months = ["jan", "feb", "mar", "apr"]; const cashflows = [ {'month':'jan', 'value':10}, {'month':'mar', 'value':20} ];हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसे दो ऐरे लेता है। हमारा फ़ंक्शन फिर ऑब्जेक्ट्स का एक संयुक्त ऐरे बनाना चाहिए जिसमें प्रत्येक महीने के लिए एक ऑब्जेक्ट और उस महीने के लिए कैश फ्लो का मान हो।
इसलिए, उपरोक्त ऐरे के लिए आउटपुट इस तरह दिखना चाहिए:
const output = [ {'month':'jan', 'value':10}, {'month':'feb', 'value':''}, {'month':'mar', 'value':20}, {'month':'apr', 'value':''} ];उदाहरण
इसके लिए कोड होगा:
const months = ["jan", "feb", "mar", "apr"]; const cashflows = [ {'month':'jan', 'value':10}, {'month':'mar', 'value':20} ]; const combineArrays = (months = [], cashflows = []) => { let res = []; res = months.map(function(month) { return this[month] || { month: month, value: '' }; }, cashflows.reduce((acc, val) => { acc[val.month] = val; return acc; }, Object.create(null))); return res; }; console.log(combineArrays(months, cashflows));आउटपुट
कंसोल में आउटपुट होगा:
[ { month: 'jan', value: 10 }, { month: 'feb', value: '' }, { month: 'mar', value: 20 }, { month: 'apr', value: '' } ]