কম্পিউটার

জাভাস্ক্রিপ্ট একটি JSON অবজেক্টকে দুটি বৈশিষ্ট্য এবং গণনা দ্বারা গ্রুপ করে


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

const arr = [
   {"location":"Kirrawee","identity_long":"student"},
   {"location":"Kirrawee","identity_long":"visitor"},
   {"location":"Kirrawee","identity_long":"visitor"},
   {"location":"Kirrawee","identity_long":"worker"},
   {"location":"Sutherland","identity_long":"student"},
   {"location":"Sutherland","identity_long":"resident"},
   {"location":"Sutherland","identity_long":"worker"},
   {"location":"Sutherland","identity_long":"resident"},
   {"location":"Miranda","identity_long":"resident"},
   {"location":"Miranda","identity_long":"worker"},
   {"location":"Miranda","identity_long":"student"},
   {"location":"Miranda","identity_long":""},
   {"location":"Miranda","identity_long":"worker"},
   {"location":"Miranda","identity_long":"resident"}
];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারে অবজেক্টে নেয়। ফাংশনটিকে অবজেক্টের একটি নতুন অ্যারে প্রস্তুত করা উচিত যেখানে অবস্থানের বৈশিষ্ট্যের উপর ভিত্তি করে সমস্ত (অভিন্ন) বস্তুগুলিকে একত্রিত করা হয়েছে৷

এবং বস্তুগুলিকে একটি গণনা বৈশিষ্ট্য বরাদ্দ করা উচিত যাতে এটি বস্তুর মূল অ্যারেতে কতবার উপস্থিত হয়েছে তার সংখ্যা রয়েছে৷

অতএব, উপরের অ্যারের জন্য, আউটপুটটি −

এর মত হওয়া উচিত
const output = [
   {"location":"Kirrawee","identity":"student","count":1},
   {"location":"Kirrawee","identity":"visitor","count":2},
   {"location":"Kirrawee","identity":"worker","count":1},
   {"location":"Sutherland","identity":"student","count":1},
   {"location":"Sutherland","identity":"resident","count":2},
   {"location":"Sutherland","identity":"worker","count":1},
   {"location":"Miranda","identity":"resident","count":2},
   {"location":"Miranda","identity":"worker","count":2},
   {"location":"Miranda","identity":"student","count":1}
];

উদাহরণ

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

const arr = [
   {"location":"Kirrawee","identity_long":"student"},
   {"location":"Kirrawee","identity_long":"visitor"},
   {"location":"Kirrawee","identity_long":"visitor"},
   {"location":"Kirrawee","identity_long":"worker"},
   {"location":"Sutherland","identity_long":"student"},
   {"location":"Sutherland","identity_long":"resident"},
   {"location":"Sutherland","identity_long":"worker"},
   {"location":"Sutherland","identity_long":"resident"},
   {"location":"Miranda","identity_long":"resident"},
   {"location":"Miranda","identity_long":"worker"},
   {"location":"Miranda","identity_long":"student"},
   {"location":"Miranda","identity_long":""},
   {"location":"Miranda","identity_long":"worker"},
   {"location":"Miranda","identity_long":"resident"}
];
const groupArray = (arr = []) => {
   // create map
   let map = new Map()
   for (let i = 0; i < arr.length; i++) {
      const s = JSON.stringify(arr[i]);
      if (!map.has(s)) {
         map.set(s, {
            location: arr[i].location,
            identity: arr[i].identity_long,
            count: 1,
         });
      } else {
         map.get(s).count++;
      }
   }
   const res = Array.from(map.values())
   return res;
};
console.log(groupArray(arr));

আউটপুট

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

[
   { location: 'Kirrawee', identity: 'student', count: 1 },
   { location: 'Kirrawee', identity: 'visitor', count: 2 },
   { location: 'Kirrawee', identity: 'worker', count: 1 },
   { location: 'Sutherland', identity: 'student', count: 1 },
   { location: 'Sutherland', identity: 'resident', count: 2 },
   { location: 'Sutherland', identity: 'worker', count: 1 },
   { location: 'Miranda', identity: 'resident', count: 2 },
   { location: 'Miranda', identity: 'worker', count: 2 },
   { location: 'Miranda', identity: 'student', count: 1 },
   { location: 'Miranda', identity: '', count: 1 }
]

  1. কিভাবে জাভাস্ক্রিপ্টে একটি বস্তুর বৈশিষ্ট্য এবং পদ্ধতি যোগ করতে হয়?

  2. জাভাস্ক্রিপ্ট অবজেক্ট বৈশিষ্ট্য

  3. কিভাবে একটি বস্তু তৈরি করতে এবং জাভাস্ক্রিপ্টে এর বৈশিষ্ট্যগুলি অ্যাক্সেস করতে হয়?

  4. জাভাস্ক্রিপ্টে বিদ্যমান বস্তুতে বৈশিষ্ট্য এবং পদ্ধতিগুলি কীভাবে যুক্ত করবেন?