কম্পিউটার

জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে একত্রিত করুন


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

const arr = [{
   name: 'A',
   idNo: 1,
   marks: {
      math: 98,
      sci: 97,
      eng: 89
   }
},
{
   name: 'B',
   idNo: 2,
   marks: {
      math: 88,
      sci: 87,
      eng: 79
   }
},
{
   name: 'C',
   idNo: 3,
   marks: {
      math: 87,
      sci: 98,
      eng: 91
   }
}];

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

আমাদের ফাংশনটি তখন বৈশিষ্ট্যগুলির একটি বস্তু প্রস্তুত করবে, প্রতিটি অবজেক্ট আইডির জন্য একটি বৈশিষ্ট্য যা বর্তমানে রয়েছে।

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

এর মত হওয়া উচিত
const output = {
   name: [A, B, C],
   idNo: [1, 2, 3],
   marks: [{
      math: 98,
      sci: 97,
      eng: 89
   },
   {
      math: 88,
      sci: 87,
      eng: 79
   },
   {
      math: 87,
      sci: 98,
      eng: 91
   }]
};

উদাহরণ

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

const arr = [{
   name: 'A',
   idNo: 1,
   marks: {
      math: 98,
      sci: 97,
      eng: 89
   }
},
{
   name: 'B',
   idNo: 2,
   marks: {
      math: 88,
      sci: 87,
      eng: 79
   }
},
{
   name: 'C',
   idNo: 3,
   marks: {
      math: 87,
      sci: 98,
      eng: 91
   }
}];
const combineMarks = (arr = []) => {
   let res = [];
   res = arr.reduce((acc, val) => {
      Object.keys(val).forEach(el => {
         if (!acc[el]) {
            acc[el] = [];
         };
         acc[el].push(val[el])
      });
      return acc;
   }, {});
   return res;
};
console.log(combineMarks(arr));

আউটপুট

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

{
   name: [ 'A', 'B', 'C' ],
   idNo: [ 1, 2, 3 ],
   marks: [
      { math: 98, sci: 97, eng: 89 },
      { math: 88, sci: 87, eng: 79 },
      { math: 87, sci: 98, eng: 91 }
   ]
}

  1. জাভাস্ক্রিপ্ট - অ্যারে অবজেক্টের দৈর্ঘ্য

  2. কিভাবে জাভাস্ক্রিপ্টে আইডি দ্বারা অবজেক্টের অ্যারে গ্রুপ করবেন?

  3. জাভাস্ক্রিপ্ট অবজেক্টের অ্যারের অ্যারের পদ্ধতি ব্যবহার করছেন?

  4. জাভাস্ক্রিপ্টে গাছে বস্তুর সমতল অ্যারে