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

জাভাস্ক্রিপ্টে দুটি অবজেক্ট থেকে নতুন অবজেক্ট তৈরি করা


সমস্যা বিবরণ

দুটি অবজেক্ট a এবং b দেওয়া আছে। একটি নতুন অবজেক্ট তৈরি করতে হবে যাতে দুটির প্রপার্টি এবং মেথড দুটোই থাকে। মূল অবজেক্টগুলো অপরিবর্তিত থাকবে।

ইনপুট:

const a = {
  a: 1,
  af: function() { console.log(this.a) },
};
const b = {
  b: 2,
  bf: function() { console.log(this.b) },
};

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

const output = {
  a: 1,
  af: function() { console.log(this.a) },
  b: 2,
  bf: function() { console.log(this.b) },
};

সমাধান

const a = {
  a: 1,
  af: function() { console.log(this.a) },
};
const b = {
  b: 2,
  bf: function() { console.log(this.b) },
};

const extend = function() {
  let i, j, x, res = (arguments[0] || {});
  for (i = 1; i < arguments.length; i++) {
    const x = arguments[i];
    for (j in x) {
      if (x.hasOwnProperty(j)) {
        res[j] = x[j];
      }
    }
  }
  return res;
};

const c = extend({}, a, b);
console.log(c);

আউটপুট

{ a: 1, af: [Function: af], b: 2, bf: [Function: bf] }

আধুনিক বিকল্প

আধুনিক জাভাস্ক্রিপ্টে Object.assign({}, a, b) বা স্প্রেড অপারেটর {...a, ...b} ব্যবহার করা সহজ ও কার্যকর।

  1. জাভাস্ক্রিপ্ট দিয়ে URL অবজেক্ট তৈরি করা

  2. জাভাস্ক্রিপ্টে RegExp অবজেক্ট

  3. জাভাস্ক্রিপ্টে অবজেক্ট ইলিশিয়ালাইজার

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