在 JavaScript 中根据 2 个其他对象创建对象


假设我们有两个这样定义的 JavaScript 对象 −

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

我们要求编写一个 JavaScript 函数,该函数将从这两个对象中取值。创建另一个对象,它将获取 a 和 b 的属性,如下所示 −

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

请注意,a 和 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] }

更新日期:2020 年 11 月 24 日

83 次浏览

开始您的 职业

完成课程以获得认证

开始
广告