javascript - 在javascript中合并两个对象,忽略未定义的值

标签 javascript reactjs

我必须合并两个对象,但我不想将未定义的值分配给已定义的值。

A = { activity: 'purchased', count: undefined, time: '09:05:33' }
B = { activity: 'purchased', count: '51', time: undefined }
当我尝试 Object.assign 时,未定义正在替换具有值的字段。
我想要的是
C = { activity: 'purchased', count: '51', time: '09:05:33' }

最佳答案

展开运算符(...) 可以很好地合并对象,并且有一个简单的解决方案可以使用 删除 undefined JSON.stringify() 和 JSON.parse() .请参见下面的示例:

const A = { activity: 'purchased', count: undefined, time: '09:05:33' };
const B = { activity: 'purchased', count: '51', time: undefined };

//If you don't care about date objects then only use below method 
const C = {...JSON.parse(JSON.stringify(A)), ...JSON.parse(JSON.stringify(B))};

console.log(C);

关于javascript - 在javascript中合并两个对象,忽略未定义的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62837977/

相关文章:

reactjs - Webpack 4 : WOFF, WOFF2,SVG 加载失败

javascript - Redux-Form matchDispatchToProps 不工作

JavaScript 右移负数

javascript - jQuery 选择选项最后不起作用

reactjs - 如何避免 React Jest 测试中的 "False positive"覆盖率

javascript - 如果 UUID 与字符串(autoIncrement)匹配,我如何移动到数组中的下一个项目?

javascript - react native 如何处理对象和数组?

javascript - topojson/D3/经度+纬度 map

JavaScript eval() 和 const

javascript - 意外的标记 -