Lodash - mergeWith 方法



語法

_.mergeWith(object, sources, customizer)

此方法類似於 _.merge,不同之處在於它接受 customizer, customizer 用於生成目標屬性和源屬性的合併值。如果 customizer 返回未定義,則方法負責合併。customizer 會使用六個引數呼叫:(objValue, srcValue, key, object, source, stack)。

引數

  • object (Object) − 目標物件

  • sources (...Object) − 源物件

  • customizer (Function) − 自定義分配值的函式

輸出

  • (Object) − 返回物件

示例

var _ = require('lodash');
var object = {
   'a': [{ 'b': 2 }, { 'd': 4 }]
}; 
var other = {
   'a': [{ 'c': 3 }, { 'e': 5 }]
};
function customizer(objValue, srcValue) {
   if (_.isArray(objValue)) {
     return objValue.concat(srcValue);
   }
}

console.log(_.mergeWith(object, other, customizer));

將以上程式儲存在 tester.js 中。執行以下命令以執行此程式。

命令

\>node tester.js

輸出

{ a: [ { b: 2 }, { d: 4 }, { c: 3 }, { e: 5 } ] }
lodash_object.htm
廣告
© . All rights reserved.