Create an object based on 2 others in JavaScript


Suppose, we have two JavaScript objects defined like this −

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

We are required to write a JavaScript function that takes in two such objects. Create another object which will get the properties of a and b, like this −

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

Note that a and b need to stay the same.

Example

The code for this will be −

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);

Output

And the output in the console will be −

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

Updated on: 24-Nov-2020

70 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements