合并两个对象的值,如果匹配则增加键的值[Javascript]

时间:2017-06-22 22:12:37

标签: javascript merge lodash

给出两个对象:

const obj1 = {
  1: 5,
  2: 4
};

const obj2 = {
  1: 10,
  2: 1,
  3: 1
};

如何将它们与Lodash Merge合并以创建结果对象:

const newObj = {
  1: 15,
  2: 5,
  3: 1
};

你有什么尝试?没什么,因为我不知道如何以这种方式使用合并,或者合并是正确的方式。

1 个答案:

答案 0 :(得分:1)

使用_.mergeWith() - 它有一个自定义程序,可让您定义属性的合并方式。



const obj1 = {
  1: 5,
  2: 4
};

const obj2 = {
  1: 10,
  2: 1,
  3: 1
};

const result = _.mergeWith({}, obj1, obj2, (o1, o2) => {
  if(_.isNumber(o1)) {
    return o1 + o2;
  }
});

console.log(result);

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
&#13;
&#13;
&#13;