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

জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে কী দিয়ে গ্রুপ করা

ধরুন, আমাদের কারগুলোর ডেটা ধারণকারী একটি অবজেক্টের অ্যারে আছে:

const arr = [
  {
    'make': 'audi',
    'model': 'r8',
    'year': '2012'
  },
  {
    'make': 'audi',
    'model': 'rs5',
    'year': '2013'
  },
  {
    'make': 'ford',
    'model': 'mustang',
    'year': '2012'
  },
  {
    'make': 'ford',
    'model': 'fusion',
    'year': '2015'
  },
  {
    'make': 'kia',
    'model': 'optima',
    'year': '2012'
  },
];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অবজেক্টের অ্যারে গ্রহণ করে। ফাংশনটি অবজেক্টগুলোকেও তাদের 'make' প্রপার্টি অনুযায়ী গ্রুপ করবে।

আউটপুট

অতএব, আউটপুট হবে:

const output = {
  'audi': [
  {
    'model': 'r8',
    'year': '2012'
  },
  {
    'model': 'rs5',
    'year': '2013'
  },
  ],
  'ford': [
  {
    'model': 'mustang',
    'year': '2012'
  },
  {
    'model': 'fusion',
    'year': '2015'
  }
  ],
  'kia': [
  {
    'model': 'optima',
    'year': '2012'
  }
  ]
};

উদাহরণ

কোডটি হবে:

const arr = [
  {
    'make': 'audi',
    'model': 'r8',
    'year': '2012'
  },
  {
    'make': 'audi',
    'model': 'rs5',
    'year': '2013'
  },
  {
    'make': 'ford',
    'model': 'mustang',
    'year': '2012'
  },
  {
    'make': 'ford',
    'model': 'fusion',
    'year': '2015'
  },
  {
    'make': 'kia',
    'model': 'optima',
    'year': '2012'
  },
];
const groupByMake = (arr = []) => {
  let result = [];
  result = arr.reduce((r, a) => {
    r[a.make] = r[a.make] || [];
    r[a.make].push(a);
    return r;
  }, Object.create(null));
  return result;
};
console.log(groupByMake(arr));

আউটপুট

কনসোলে আউটপুট হবে:

{
  audi: [
    { make: 'audi', model: 'r8', year: '2012' },
    { make: 'audi', model: 'rs5', year: '2013' }
  ],
  ford: [
    { make: 'ford', model: 'mustang', year: '2012' },
    { make: 'ford', model: 'fusion', year: '2015' }
  ],
  kia: [ { make: 'kia', model: 'optima', year: '2012' } ]
}
  1. জাভাস্ক্রিপ্ট - অ্যারে অবজেক্টের length প্রোপার্টি

  2. জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে ID দিয়ে গ্রুপ করা

  3. জাভাস্ক্রিপ্টে অবজেক্ট ধারণকারী অ্যারে অফ অ্যারে Durch লুপ করা

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