JS工具函数之实现两个对象的混合

108 阅读1分钟

写一个函数,实现两个对象的混合,不改变原对象,返回一个新对象。

两种实现方法: 第一种:

// 规则:将obj2混合到obj1,相同属性保留obj1的内容
function mixin(obj1, obj2) {
  let newObj = {};
  for (const key in obj1) {
    newObj[key] = obj1[key];
  }
  for (const key in obj2) {
    if (newObj.hasOwnProperty(key)) {
      continue;
    }
    newObj[key] = obj2[key];
  }
  return newObj;
};

第二种方法就是直接使用Object.assign()

function mixin(obj1, obj2) {
    return Object.assign({}, obj2, obj1);
}