忽略 JavaScript 中未定义的值并合并两个对象


假设我们有两个对象,比如 A 和 B,如下所示 −

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

 

我们需要编写一个 JavaScript 函数来合并这两个对象,记住如果任何键具有真值,则不应被具有假值键覆盖。

如果我们只是简单地使用扩展运算符,它将无法跟踪真或假值。

因此,我们必须使用迭代方法来执行此操作。

示例

以下是代码 −

const A = { activity: 'purchased', count: undefined, time: '09:05:33' };
const B = { activity: 'purchased', count: '51', time: undefined };
const mergeObject = (A, B) => {
   let res = {};
   Object.keys({...A,...B}).map(key => {
      res[key] = B[key] || A[key];
   });
   return res;
};
console.log(mergeObject(A, B));

输出

这会在控制台生成以下输出 −

{ activity: 'purchased', count: '51', time: '09:05:33' }

更新于: 01-10-2020

2K+ 浏览量

开启你的职业生涯 生涯

完成课程即可获得认证

开始
广告