Lodash - mergeWith 方法
语法
_.mergeWith(object, sources, customizer)
此方法与 _.merge 类似,不同之处在于它接受 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 } ] }