मान लीजिए हमारे पास एक parentArray है जिसमें कई सब ऐरे हैं जिनमें से प्रत्येक का आकार समान है, प्रत्येक सब ऐरे ऑब्जेक्ट्स का एक ऐरे है जिसमें दो प्रॉपर्टीज: key और value हैं। एक सबऐरे के भीतर यह पुष्टि की जाती है कि दो ऑब्जेक्ट्स में समान key नहीं हो सकता लेकिन सभी सबऐरे में n कुंजियों का समान जोड़ा होता है जहां n सब ऐरे का आकार है।
हमारा काम कुंजी के रूप में ऑब्जेक्ट्स की key और मान के रूप में एक ऐरे तैयार करना है जिसमें उस विशेष कुंजी के लिए सभी मान हों।
यहां हमारा नमूना पैरेंट ऐरे है:
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' ]
}