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

একই প্রোপার্টি অনুযায়ী মান গ্রুপ করা - জাভাস্ক্রিপ্ট

ধরা যাক, আমাদের কাছে নিচের মতো একটি অ্যারে রয়েছে:

const arr = [
  {unit: 35, brand: 'CENTURY'},
  {unit: 35, brand: 'BADGER'},
  {unit: 25, brand: 'CENTURY'},
  {unit: 15, brand: 'CENTURY'},
  {unit: 25, brand: 'XEGAR'}
];

আমাদের একটি ফাংশন লিখতে হবে যেটি একই unit প্রোপার্টি वाले অবজেক্টগুলোর brand প্রোপার্টিগুলো গ্রুপ করবে।

উপরের অ্যারেটির জন্য নতুন অ্যারেটি হবে:

const output = [
  {unit: 35, brand: 'CENTURY, BADGER'},
  {unit: 25, brand: 'CENTURY, XEGAR'},
  {unit: 15, brand: 'CENTURY'}
];

আমরা অ্যারেটি লুপ করব, একটি হেল্পার ফাংশন ব্যবহার করে unit মান দিয়ে অবজেক্ট খুঁজব। যদি বিদ্যমান থাকে তবে brand মান কনক্যাট করব, অন্যথায় নতুন অবজেক্ট তৈরি করব।

উদাহরণ

নিচের কোডটি দেখুন:

const arr = [
  {unit: 35, brand: 'CENTURY'},
  {unit: 35, brand: 'BADGER'},
  {unit: 25, brand: 'CENTURY'},
  {unit: 15, brand: 'CENTURY'},
  {unit: 25, brand: 'XEGAR'}
];

const indexOf = function(unit){
  return this.findIndex(el => el.unit === unit)
};
Array.prototype.indexOf = indexOf;

const groupArray = arr => {
  const res = [];
  for(let i = 0; i < arr.length; i++){
    const ind = res.indexOf(arr[i].unit);
    if(ind !== -1){
      res[ind].brand += `, ${arr[i].brand}`;
    }else{
      res.push(arr[i]);
    }
  };
  return res;
};

console.log(groupArray(arr));

আউটপুট

এটি কনসোলে নিচের আউটপুট তৈরি করবে:

[
  { unit: 35, brand: 'CENTURY, BADGER' },
  { unit: 25, brand: 'CENTURY, XEGAR' },
  { unit: 15, brand: 'CENTURY' }
]
  1. জাভাস্ক্রিপ্ট কার্সর প্রপার্টি

  2. JavaScript Infinity প্রপার্টি: অসীম মান হ্যান্ডলিং

  3. জাভাস্ক্রিপ্ট lastIndex প্রোপার্টি

  4. জাভাস্ক্রিপ্ট source প্রোপার্টি