কম্পিউটার

2d ট্যাবুলার ডেটা এন্ট্রিগুলিকে জাভাস্ক্রিপ্টে বস্তুর অ্যারেতে রূপান্তর করুন


ধরুন, আমাদের কাছে এই −

এর মতো অ্যারের অ্যারে রয়েছে
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. জাভাস্ক্রিপ্ট - অ্যারে অবজেক্টের দৈর্ঘ্য

  4. জাভাস্ক্রিপ্ট অবজেক্টের তালিকায় অভিধানকে কীভাবে রূপান্তর করবেন?