কম্পিউটার

জাভাস্ক্রিপ্টে সেটে সংখ্যার অ্যারে সাজানোর জন্য অ্যালগরিদম


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

আছে
const arr = [
   {'item1': 144},
   {'item2': 0},
   {'item3': 366},
   {'item4': 15},
   {'item6': 366},
   {'item7': 19},
   {'item8': 211},
   {'item9': 121}
];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এই ধরনের একটি অ্যারে নেয় এবং বস্তুগুলিকে চারটি গ্রুপে ভাগ করে যেমন −

'XL', 'L', 'M', 'S'

সংখ্যাগুলি তাদের আপেক্ষিক মাত্রার ভিত্তিতে এই গ্রুপগুলিতে বিতরণ করা উচিত।

উদাহরণ

এর জন্য কোড হবে −

const arr = [
   {'item1': 144},
   {'item2': 0},
   {'item3': 366},
   {'item4': 15},
   {'item6': 366},
   {'item7': 19},
   {'item8': 211},
   {'item9': 121}
];
const compareWithRange = (rangeArr, num) => {
   for(let i = 0; i < rangeArr.length; i++){
      if(num <= rangeArr[i] && num > rangeArr[i + 1]){
         return i;
      };
   };
   return rangeArr.length - 1;
}
const groupBySize = (arr = []) => {
   const mapping = arr => arr.map(el => el[Object.keys(el)[0]]);
   const max = Math.max(...mapping(arr));
   const range = {
      'XL': max,
      'L': (max * 3) / 4,
      'M': (max / 2),
      'S': (max / 4)
   };
   const legend = ['XL', 'L', 'M', 'S'];
   const res = {};
   arr.forEach(el => {
      const num = el[Object.keys(el)[0]];
      const index = compareWithRange(Object.keys(range).map(key => range[key]), num);
      const size = legend[index];
      if(res.hasOwnProperty(size)){
         res[size].push(Object.keys(el));
      }
      else{
         res[size] = [Object.keys(el)];
      }
   });
   return res;
};
console.log(groupBySize(arr));

আউটপুট

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

{
   M: [ [ 'item1' ], [ 'item9' ] ],
   S: [ [ 'item2' ], [ 'item4' ], [ 'item7' ] ],
   XL: [ [ 'item3' ], [ 'item6' ] ],
   L: [ [ 'item8' ] ]
}

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

  2. জাভাস্ক্রিপ্ট ব্যবহার করে সংখ্যার অ্যারেতে স্বরবর্ণ পরীক্ষা করা হচ্ছে

  3. জাভাস্ক্রিপ্টে সংখ্যার অ্যারের জন্য প্রকরণ গণনা করা হচ্ছে

  4. জাভাস্ক্রিপ্ট ব্যবহার করে সাজানো এবং একটি অ্যারের জন্য পার্থক্যের যোগফল খুঁজে বের করা