আমাদের একটি প্যারেন্টঅ্যারে রয়েছে যেটিতে একই আকারের অনেকগুলি সাব অ্যারে রয়েছে, প্রতিটি সাব অ্যারে হল দুটি বৈশিষ্ট্য ধারণকারী বস্তুর অ্যারে:কী এবং মান। একটি সাবয়ারের মধ্যে এটি নিশ্চিত করা হয় যে দুটি বস্তুর একই কী থাকতে পারে না তবে সমস্ত সাব্যারেতে একই জোড়া 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' ] }