কম্পিউটার

জাভাস্ক্রিপ্টে সম্পত্তি দ্বারা গোষ্ঠীবদ্ধ বস্তু


ধরুন, আমাদের কাছে এমন কিছু বস্তুর অ্যারে আছে যাতে কিছু ফল ও সবজির তথ্য রয়েছে -

const arr = [
   {food: 'apple', type: 'fruit'},
   {food: 'potato', type: 'vegetable'},
   {food: 'banana', type: 'fruit'},
];

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

আমাদের ফাংশন তারপর অবজেক্টের "টাইপ" বৈশিষ্ট্যের উপর ভিত্তি করে অ্যারে অবজেক্টকে গ্রুপ করা উচিত।

এর মানে হল যে সমস্ত "ফল" টাইপ অবজেক্ট একসাথে গ্রুপ করা হয় এবং "সবজি' টাইপ আলাদাভাবে একসাথে গ্রুপ করা হয়।

উদাহরণ

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

const arr = [
   {food: 'apple', type: 'fruit'},
   {food: 'potato', type: 'vegetable'},
   {food: 'banana', type: 'fruit'},
];
const transformArray = (arr = []) => {
   const res = [];
   const map = {};
   let i, j, curr;
   for (i = 0, j = arr.length; i < j; i++) {
      curr = arr[i];
      if (!(curr.type in map)) {
         map[curr.type] = {type: curr.type, foods: []};
         res.push(map[curr.type]);
      };
      map[curr.type].foods.push(curr.food);
   };
   return res;
};
console.log(transformArray(arr));

আউটপুট

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

[
   { type: 'fruit', foods: [ 'apple', 'banana' ] },
   { type: 'vegetable', foods: [ 'potato' ] }
]

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

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

  3. কিভাবে জাভাস্ক্রিপ্টে আইডি দ্বারা অবজেক্টের অ্যারে গ্রুপ করবেন?

  4. জাভাস্ক্রিপ্টে একটি মানের উপর ভিত্তি করে বস্তুগুলিকে কীভাবে গ্রুপ করবেন?