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

জাভাস্ক্রিপ্টে একই কী ভ্যালু দিয়ে অবজেক্ট মার্জ করে কাউন্ট করা

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

const arr = [{
  "value": 10,
  "id": "111",
  "name": "BlackCat",
}, {
  "value": 10,
  "id": "111",
  "name": "BlackCat",
}, {
  "value": 15,
  "id": "777",
  "name": "WhiteCat",
}];

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

ফাংশনটি সেই সব অবজেক্টকে একসাথে মার্জ করবে যাদের "id" প্রপার্টির ভ্যালু কমন।

অতএব, উপরের অ্যারেতে আউটপুট হবে:

const output = [{
  "value": 10,
  "id": "111",
  "name": "BlackCat",
  "count": 2,
}, {
  "value": 15,
  "id": "777",
  "name": "WhiteCat",
  "count": 1,
}]

উদাহরণ

const arr = [{
  "value": 10,
  "id": "111",
  "name": "BlackCat",
}, {
  "value": 10,
  "id": "111",
  "name": "BlackCat",
}, {
  "value": 15,
  "id": "777",
  "name": "WhiteCat",
}];
const combinedItems = (arr = []) => {
  const res = arr.reduce((acc, obj) => {
    let found = false;
    for (let i = 0; i < acc.length; i++) {
      if (acc[i].id === obj.id) {
        found = true;
        acc[i].count++;
      };
    }
    if (!found) {
      obj.count = 1;
      acc.push(obj);
    }
    return acc;
  }, []);
  return res;
}
console.log(combinedItems(arr));

আউটপুট

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

[
  { value: 10, id: '111', name: 'BlackCat', count: 2 },
  { value: 15, id: '777', name: 'WhiteCat', count: 1 }
]
  1. জাভাস্ক্রিপ্টে বাটনের ভ্যালু পাওয়া

  2. জাভাস্ক্রিপ্টে ইমেজের usemap অ্যাট্রিবিউটের মান কীভাবে পাবেন?

  3. স্ট্রিং কী দিয়ে নেস্টেড জাভাস্ক্রিপ্ট অবজেক্ট এক্সেস করা

  4. জাভাস্ক্রিপ্টে একই অ্যারেতে অ্যারের এলিমেন্টগুলো ডুপ্লিকেট করা