কম্পিউটার

একই সম্পত্তিতে গ্রুপ মান - জাভাস্ক্রিপ্ট


ধরুন আমাদের এইরকম একটি অ্যারে আছে −

const arr = [
   {unit: 35, brand: 'CENTURY'},
   {unit: 35, brand: 'BADGER'},
   {unit: 25, brand: 'CENTURY'},
   {unit: 15, brand: 'CENTURY'},
   {unit: 25, brand: 'XEGAR'}
];

আমাদের এমন একটি ফাংশন লিখতে হবে যা অবজেক্টের সমস্ত ব্র্যান্ডের বৈশিষ্ট্যগুলিকে গোষ্ঠীভুক্ত করে যার ইউনিট সম্পত্তি একই৷

উপরের অ্যারের মতো, নতুন অ্যারে −

হওয়া উচিত
const output = [
   {unit: 35, brand: 'CENTURY, BADGER'},
   {unit: 25, brand: 'CENTURY, XEGAR'},
   {unit: 15, brand: 'CENTURY'}
];

আমরা অ্যারের উপর লুপ করব, একটি হেল্পার ফাংশন ব্যবহার করে ইউনিট মান সহ বস্তুটি অনুসন্ধান করব। যদি এটি বিদ্যমান থাকে, আমরা ব্র্যান্ডের মানকে সংযুক্ত করি অন্যথায় আমরা একটি নতুন বস্তু তৈরি করি৷

উদাহরণ

নিম্নলিখিত কোড -

const arr = [
   {unit: 35, brand: 'CENTURY'},
   {unit: 35, brand: 'BADGER'},
   {unit: 25, brand: 'CENTURY'},
   {unit: 15, brand: 'CENTURY'},
   {unit: 25, brand: 'XEGAR'}
];
const indexOf = function(unit){
   return this.findIndex(el => el.unit === unit)
};
Array.prototype.indexOf = indexOf;
const groupArray = arr => {
   const res = [];
   for(let i = 0; i < arr.length; i++){
      const ind = res.indexOf(arr[i].unit);
      if(ind !== -1){
         res[ind].brand += `, ${arr[i].brand}`;
      }else{
         res.push(arr[i]);
      }
   };
   return res;
};
console.log(groupArray(arr));

আউটপুট

এটি কনসোলে −

নিম্নলিখিত আউটপুট তৈরি করবে
[
   { unit: 35, brand: 'CENTURY, BADGER' },
   { unit: 25, brand: 'CENTURY, XEGAR' },
   { unit: 15, brand: 'CENTURY' }
]

  1. জাভাস্ক্রিপ্ট কার্সার সম্পত্তি

  2. জাভাস্ক্রিপ্ট ইনফিনিটি প্রপার্টি

  3. জাভাস্ক্রিপ্ট লাস্ট ইনডেক্স প্রপার্টি

  4. জাভাস্ক্রিপ্ট উৎস সম্পত্তি