将对象与覆盖相结合

时间:2017-02-11 14:31:25

标签: javascript

我有以下数组:

var config = {
  default: {
    username: 'bye',
    password: '123',
    tries: 3
  },
  custom: {
    username: 'hello',
    tries: 2
  }
};

我需要从中得到以下结果:

var config = {
    username: 'hello',
    password: '123',
    tries: 2
};

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:6)

您可以使用Object.assign()返回新对象。

var config = {
  default: {
    username: 'bye',
    password: '123',
    tries: 3
  },
  custom: {
    username: 'hello',
    tries: 2
  }
};

var result = Object.assign({}, config.default, config.custom)
console.log(result)

答案 1 :(得分:1)

另一种解决方案,如果您要覆盖对象

config.custom个对象键进行循环,然后覆盖键



var config = {
  default: {
    username: 'bye',
    password: '123',
    tries: 3
  },
  custom: {
    username: 'hello',
    tries: 2
  }
};

  for (var key in config.custom) { 
    config.default[key] = config.custom[key]; 
  }

console.log(config.default);