2017-06-02 60 views
0
function merger(objValue, srcValue, key, object, source, stack) { 
    switch (key) { 
    case 'keya': 
    case 'keyb': 
    case 'keyc': 
     return null 
    } 
} 

mergeWith({}, oldObj, newObj, merger) 

當key等於某個值時,我想跳過合併。但是當newObj具有keya時,上面代碼的輸出將具有{keya: null}的輸出。lodash mergeWith,用一些鍵跳過

我可以跳過合併,使密鑰不在輸出中嗎?

回答

1

簡單的回答:這是不可能的_.mergeWith

您可以在這裏看到https://github.com/lodash/lodash/issues/2966。您必須再次用另一個進程刪除null重要屬性。像,

_.omitBy(mergedObj, _.isNull); 
+0

謝謝。這似乎效率低下。那麼我會放棄它。 –