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