কম্পিউটার

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


ধরুন আমাদের কাছে এই ধরনের বস্তুর একটি অ্যারে আছে −

const nights = [
   { "2016-06-25": 32, "2016-06-26": 151, "2016-06-27": null },
   { "2016-06-24": null, "2016-06-25": null, "2016-06-26": null },
   { "2016-06-26": 11, "2016-06-27": 31, "2016-06-28": 31 },
];

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

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

এর মত হওয়া উচিত
const output = {
"2016-06-24": [null],
"2016-06-25": [32, null],
"2016-06-26": [151, null, 11],
"2016-06-27": [null, 31],
"2016-06-28": [31]
};

উদাহরণ

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

const nights = [
   { "2016-06-25": 32, "2016-06-26": 151, "2016-06-27": null },
   { "2016-06-24": null, "2016-06-25": null, "2016-06-26": null },
   { "2016-06-26": 11, "2016-06-27": 31, "2016-06-28": 31 },
];
const arrayToObject = (arr = []) => {
   const res = {};
   for(let i = 0; i < arr.length; i++){
      const keys = Object.keys(arr[i]);
      for(let j = 0; j < keys.length; j++){
         if(res.hasOwnProperty(keys[j])){
            res[keys[j]].push(arr[i][keys[j]]);
         }
         else{
            res[keys[j]] = [arr[i][keys[j]]];
         }
      }
   };
   return res;
};
console.log(arrayToObject(nights));

আউটপুট

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

{
   '2016-06-25': [ 32, null ],
   '2016-06-26': [ 151, null, 11 ],
   '2016-06-27': [ null, 31 ],
   '2016-06-24': [ null ],
   '2016-06-28': [ 31 ]
}

  1. জাভাস্ক্রিপ্ট টাইপ অ্যারে

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

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

  4. জাভাস্ক্রিপ্টে বস্তুর একটি অ্যারেকে প্লেইন অবজেক্টে রূপান্তর করুন