我使用类型记录,我想用另一个更新对象,只在匹配的键上更新。
// Destination
objectOne = {
a: 0,
b: 0,
};
// Source
objectTwo = {
a: 1,
b: 1,
c: 1,
};
// Expected
result = {
a: 1,
b: 1,
};
// Current solution
const current = {};
Object.keys(objectTwo).forEach(key => key in objectOne ? current[key] = objectTwo[key] : null);
console.log(current);
是否有一个一行(即不是迭代键的自定义函数)会忽略源中的属性c?我还想避免使用库,如lodash或JQuery。
复制编辑我的问题不是合并两个对象,我的问题是忽略第二个对象中的字段,而不是第一个对象中的字段。
发布于 2018-07-30 10:32:32
经过一段时间没有答案,似乎最短的解决方案是我自己提供的:
Object.keys(newObj).forEach(key => key in oldObj? result[key] = newObj[key] : null)https://stackoverflow.com/questions/51206836
复制相似问题