हमारे पास एक पेरेंटअरे है जिसमें एक ही आकार के कई उप सरणियाँ हैं, प्रत्येक उप सरणी दो गुणों वाली वस्तुओं की एक सरणी है:कुंजी और मान। एक सबअरे के भीतर यह पुष्टि की जाती है कि दो ऑब्जेक्ट्स में एक ही कुंजी नहीं हो सकती है, लेकिन सभी सबएरे में n कीज़ की एक ही जोड़ी होती है, जहाँ n सब एरे का आकार होता है।
हमारा काम वस्तुओं की कुंजी के रूप में एक वस्तु तैयार करना है और मूल्य एक सरणी है जिसमें उस विशेष कुंजी के सभी मान शामिल हैं।
यहाँ एक नमूना पैरेंट सरणी है -
const parentArray = [[
{
key: 123,
value: 'India'
}, {
key: 124,
value: 'USA'
}, {
key: 125,
value: 'Japan'
}, {
key: 126,
value: 'Denmark'
}, {
key: 127,
value: 'Austria'
},
], [
{
key: 124,
value: 'Kenya'
}, {
key: 126,
value: 'UK'
}, {
key: 123,
value: 'Germany'
}, {
key: 127,
value: 'Spain'
}, {
key: 125,
value: 'Portugal'
},
]]; हम पैरेंट एरे और फिर सभी सब एरे पर एक-एक करके पुनरावृति करेंगे और अगर हमें एक मैचिंग की मिलती है, तो हम इसे वैल्यू ऐरे में पुश करते हैं अन्यथा हम एक नया वैल्यू एरे बनाते हैं।
इसके लिए पूरा कोड होगा -
const parentArray = [[
{
key: 123,
value: 'India'
}, {
key: 124,
value: 'USA'
}, {
key: 125,
value: 'Japan'
}, {
key: 126,
value: 'Denmark'
}, {
key: 127,
value: 'Austria'
},
], [
{
key: 124,
value: 'Kenya'
}, {
key: 126,
value: 'UK'
}, {
key: 123,
value: 'Germany'
}, {
key: 127,
value: 'Spain'
}, {
key: 125,
value: 'Portugal'
},
]];
const map = {};
parentArray.forEach(arr => {
arr.forEach(obj => {
const { key, value } = obj;
if(map[key]){
map[key].push(value);
}else{
map[key] = [value]
}
})
});
console.log(map); कंसोल में आउटपुट होगा -
{
'123': [ 'India', 'Germany' ],
'124': [ 'USA', 'Kenya' ],
'125': [ 'Japan', 'Portugal' ],
'126': [ 'Denmark', 'UK' ],
'127': [ 'Austria', 'Spain' ]
}