কম্পিউটার

মান যোগ করার সময় অ্যারের অ্যারের অনন্য আইটেম একত্রিত করুন - জাভাস্ক্রিপ্ট


আমাদের কাছে অ্যারের একটি অ্যারে রয়েছে, প্রতিটি সাব্যারেতে ঠিক দুটি উপাদান রয়েছে, প্রথমটি একটি স্ট্রিং, এই ক্ষেত্রে এপারসনের নাম এবং দ্বিতীয়টি একটি পূর্ণসংখ্যা, আমাদের যা করতে হবে তা হল সেই সমস্ত সাবয়ারেগুলিকে একত্রিত করা যার প্রথম উপাদান একই এবং দ্বিতীয় উপাদান সাধারণ সাব্যারেগুলির দ্বিতীয় উপাদানগুলির যোগফল হওয়া উচিত৷

নিম্নলিখিত আমাদের উদাহরণ অ্যারে -

const example = [[
   'first',
   12
], [
   'second',
   19
], [
   'first',
   7
]];

নিম্নলিখিত

রূপান্তর করা উচিত
const example = [[
   'first',
   19
   ], [
      'second',
      19
   ]
];

ধরা যাক আমরা একটি ফাংশন লিখি combineArray() যেটি অ্যারেকে ইনপুট হিসাবে নেয় এবং আউটপুট হিসাবে সম্মিলিত অ্যারে প্রদান করে, এর জন্য কোডটি হবে −

উদাহরণ

const people = [
   ['Ram', 21],
   ['Mohan', 33],
   ['Vikram', 25],
   ['Mike', 29],
   ['Mohan', 41],
   ['Vikram', 26]
];
const combineArray = (people) => {
   const map = {};
   for(const index in people){
      const name = people[index][0];
      const prop = people[index][1];
      if(map[name]){
         map[name] += prop;
      }else{
         map[name] = prop;
      }
   }
   return Object.keys(map).map(key => [key, map[key]]);
}
console.log(combineArray(people));

আউটপুট

কনসোলে আউটপুট হবে −

[ [ 'Ram', 21 ], [ 'Mohan', 74 ], [ 'Vikram', 51 ], [ 'Mike', 29 ] ]

কম্বাইনঅ্যারে ফাংশন বোঝা −

এটি অ্যারের উপর পুনরাবৃত্ত হয়, একটি বস্তুর মান হিসাবে কী এবং প্রপ হিসাবে নামটি ম্যাপ করে, নিশ্চিত নকল কী একসাথে যোগ করা হয় এবং অবশেষে অবজেক্টটি অ্যারের অ্যারেতে রূপান্তরিত হয় এবং ফিরে আসে।

এই ফাংশনের সময় জটিলতা হল O(2n) যা প্রায়শই O(n) এ বৃত্তাকার হয় এবং স্থান জটিলতা হল O(n) সেইসাথে।


  1. জাভাস্ক্রিপ্ট টাইপ অ্যারে

  2. JavaScript Array.prototype.values()

  3. JavaScript array.values()

  4. কিভাবে একটি জাভাস্ক্রিপ্ট অ্যারে সব অনন্য মান পেতে?