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

২ডি ট্যাবুলার ডেটা জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে-তে রূপান্তর


মান लीजिए, আমাদের নিচের মতো একটি অ্যারে অফ অ্যারে আছে −

const arr = [
  ["Ashley","2017-01-10",80],
  ["Ashley","2017-02-10",75],
  ["Ashley","2017-03-10",85],
  ["Clara","2017-01-10",90],
  ["Clara","2017-02-10",82]
];

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

ফাংশনটি ইনপুট অ্যারে-র উপর ভিত্তি করে অবজেক্টের একটি নতুন অ্যারে তৈরি করবে। আউটপুট অ্যারে-তে ইনপুট অ্যারে-র প্রতিটি অনন্য সাব-অ্যারে-এর জন্য একটি অবজেক্ট থাকবে (এখানে অনন্য বলতে প্রথম উপাদানটি অনন্য হলে সাব-অ্যারেটি অনন্য বলে বোঝানো হয়েছে)।

প্রতিটি অবজেক্টের স্কিমা হবে নিচের মতো −

const output = [
  {"name":"Ashley", "2017-01-10":80, "2017-02-10":75, "2017-03-10":85},
  {"name":"Clara", "2017-01-10":90, "2017-02-10":82}
];

উদাহরণ

const arr = [
  ["Ashley","2017-01-10",80],
  ["Ashley","2017-02-10",75],
  ["Ashley","2017-03-10",85],
  ["Clara","2017-01-10",90],
  ["Clara","2017-02-10",82]
];
const groupArray = (arr = []) => {
  let grouped = [];
  grouped = arr.reduce(function (hash) {
    return function (r, a) {
      if (!hash[a[0]]) {
        hash[a[0]] = { name: a[0] };
        r.push(hash[a[0]]);
      }
      hash[a[0]][a[1]] = a[2];
      return r;
    };
  }(Object.create(null)), []);
  return grouped;
};
console.log(groupArray(arr));

আউটপুট

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

[
  { name: 'Ashley', '2017-01-10': 80, '2017-02-10': 75, '2017-03-10': 85 },
  { name: 'Clara', '2017-01-10': 90, '2017-02-10': 82 }
]

  1. জাভাস্ক্রিপ্ট অবজেক্টকে ম্যানুয়ালি প্রিমিটিভ ডেটা টাইপে কনভার্ট করা

  2. জাভাস্ক্রিপ্ট array.entries() মেথড

  3. জাভাস্ক্রিপ্ট - অ্যারে অবজেক্টের length প্রোপার্টি

  4. ডিকশনারিকে জাভাস্ক্রিপ্ট অবজেক্টের লিস্টে রূপান্তর করা