忽略 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+ 瀏覽量

開啟你的職業生涯 生涯

完成課程即可獲得認證

開始
廣告