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

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


সমস্যা বিবরণ

আমাদের কাছে নিচের মতো একটি নেস্টেড অ্যারে রয়েছে:

const arr = [
  [
    ['dog', 'Harry'], ['age', 2]
  ],
  [
    ['dog', 'Roger'], ['age', 5]
  ]
];

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

প্রত্যাশিত আউটপুট:

const output = [
  {dog: 'Harry', age: 2},
  {dog: 'Roger', age: 5}
];

সমাধান

নিচের কোডটি এই রূপান্তরটি সম্পন্ন করে:

const arr = [
  [
    ['dog', 'Harry'], ['age', 2]
  ],
  [
    ['dog', 'Roger'], ['age', 5]
  ]
];

const prepareObjectArray = (arr = []) => {
  const copy = arr.slice();
  copy.forEach((el, ind, array) => {
    el.forEach((element, index, subArray) => {
      subArray[element[0]] = element[1];
    });
    el.length = 0;
    array[ind] = Object.assign({}, array[ind]);
  });
  return copy;
};

console.log(prepareObjectArray(arr));

আউটপুট

[ { dog: 'Harry', age: 2 }, { dog: 'Roger', age: 5 } ]

কোড ব্যাখ্যা

  • arr.slice() ব্যবহার করে মূল অ্যারের কপি তৈরি করা হয়েছে।
  • প্রতিটি সাব-অ্যারে (el) এর জন্য forEach লুপ চালানো হয়েছে।
  • প্রতিটি উপাদান (element) এর প্রথম মান কী (key) এবং দ্বিতীয় মান ভ্যালু (value) হিসেবে সাব-অ্যারেতে সেট করা হয়েছে।
  • el.length = 0 দিয়ে সাব-অ্যারে খালি করা হয়েছে।
  • Object.assign({}, array[ind]) দিয়ে সাব-অ্যারেকে অবজেক্টে রূপান্তর করা হয়েছে।
  1. জাভাস্ক্রিপ্ট Array.from() মেথড

  2. জাভাস্ক্রিপ্ট ব্যবহার করে JSON অ্যারে থেকে ডেটা পড়া

  3. জাভাস্ক্রিপ্টে অ্যারেতে নেস্টেড অবজেক্ট মানগুলোর যোগফল

  4. জাভাস্ক্রিপ্ট অবজেক্টকে নতুন অ্যারেতে ফরম্যাট করা