কম্পিউটার টিউটোরিয়াল

অবজেক্টের কী প্রোপার্টি অনুযায়ী গ্রুপিং - JavaScript

নেস্টেড অ্যারে অবজেক্ট থেকে কী অনুযায়ী ভ্যালু গ্রুপ করে একটি অবজেক্ট তৈরি করা।

ইনপুট ডেটা

const parentArray = [
  [{key: 123, value: 'India'}, {key: 124, value: 'USA'}, ...],
  [{key: 124, value: 'Kenya'}, {key: 126, value: 'UK'}, ...]
];

সমাধান

const groupByKey = (parentArray) => {
  const map = {};
  
  for (const subArray of parentArray) {
    for (const { key, value } of subArray) {
      if (map[key]) {
        map[key].push(value);
      } else {
        map[key] = [value];
      }
    }
  }
  
  return map;
};

// Reduce ব্যবহার করে
const groupByKeyReduce = (parentArray) => {
  return parentArray.reduce((map, subArray) => {
    subArray.forEach(({ key, value }) => {
      map[key] = [...(map[key] || []), value];
    });
    return map;
  }, {});
};

// Map অবজেক্ট ব্যবহার (মডার্ন)
const groupByKeyMap = (parentArray) => {
  const map = new Map();
  
  for (const subArray of parentArray) {
    for (const { key, value } of subArray) {
      if (map.has(key)) {
        map.get(key).push(value);
      } else {
        map.set(key, [value]);
      }
    }
  }
  
  return Object.fromEntries(map); // অবজেক্টে রূপান্তর
};

// টেস্ট
const parentArray = [
  [{key: 123, value: 'India'}, {key: 124, value: 'USA'}, 
   {key: 125, value: 'Japan'}, {key: 126, value: 'Denmark'}, 
   {key: 127, value: 'Austria'}],
  [{key: 124, value: 'Kenya'}, {key: 126, value: 'UK'}, 
   {key: 123, value: 'Germany'}, {key: 127, value: 'Spain'}, 
   {key: 125, value: 'Portugal'}]
];

console.log(groupByKey(parentArray));
/*
{
  '123': ['India', 'Germany'],
  '124': ['USA', 'Kenya'],
  '125': ['Japan', 'Portugal'],
  '126': ['Denmark', 'UK'],
  '127': ['Austria', 'Spain']
}
*/

ব্যবহারিক ক্ষেত্রে

  • ডাটাবেস কুয়েরি রেজাল্ট গ্রুপিং
  • API রেসপন্স ট্রান্সফরমেশন
  • ডেটা এনালাইসিস ও রিপোর্টিং

উৎপাদন

{
  '123': [ 'India', 'Germany' ],
  '124': [ 'USA', 'Kenya' ],
  '125': [ 'Japan', 'Portugal' ],
  '126': [ 'Denmark', 'UK' ],
  '127': [ 'Austria', 'Spain' ]
}
  1. জাভাস্ক্রিপ্ট অবজেক্ট: একটি পূর্ণাঙ্গ গাইড

  2. জাভাস্ক্রিপ্টে অবজেক্ট বনাম অ্যারে: কী/মান (key/value) জোড়ার জন্য ওয়ার্কঅরাউন্ড

  3. জাভাস্ক্রিপ্টে ভ্যালু অনুযায়ী অবজেক্ট গ্রুপ করা

  4. জাভাস্ক্রিপ্টে দুটি অবজেক্ট তুলনা করে নেস্টেড ভ্যালু গ্রুপিং করা