具有相同属性的两个对象的JavaScript总和

假设我们有两个这样的对象-

const obj1 = {

   a:12, b:8, c:17

};

const obj2 = {

   a:2, b:4, c:1

};

我们需要编写一个接受两个这样的对象的JavaScript函数。

该函数应将相同属性的值求和成单个属性。因此,最终对象应该看起来像这样-

const output = {

   a:14, b:12, c:18

};

注–为简单起见,我们仅使用了两个对象,但是我们需要编写函数,以便它可以接受任意数量的对象并添加其属性值。

示例

const obj1 = {

   a:12,

   b:8,

   c:17

};

const obj2 = {

   a:2,

   b:4,

   c:1

};

const sumObjectsByKey = (...objs) => {

   const res = objs.reduce((a, b) => {

      for (let k in b) {

         if (b.hasOwnProperty(k))

         a[k] = (a[k] || 0) + b[k];

      }

      return a;

   }, {});

   return res;

}

console.log(sumObjectsByKey(obj1, obj2));

输出结果

控制台中的输出将是-

{ a: 14, b: 12, c: 18 }

以上是 具有相同属性的两个对象的JavaScript总和 的全部内容, 来源链接: utcz.com/z/326459.html

回到顶部