Lodash _.mergeWith() 方法
Lodash 是一个基于 underscore.js 的 JavaScript 库。 Lodash 有助于处理数组、字符串、对象、数字等。
_.mergeWith()方法使用一个自定义函数,该函数被调用以生成给定目标和源属性的合并值。当定制函数返回未定义时,合并由方法处理。它与 _.merge() 方法几乎相同。
句法:
_.mergeWith( object, sources, customizer )
参数:此方法接受三个参数,如上所述,如下所述:
- object:此参数保存目标对象。
- sources:此参数保存源对象。它是一个可选参数。
- 定制器:这是定制分配值的函数。
返回值:此方法返回对象。
示例 1:
Javascript
// Requiring the lodash library
const _ = require("lodash");
// The destination object
var object = {
'amit': [{ 'susanta': 20 }, { 'durgam': 40 }]
};
// The source object
var other = {
'amit': [{ 'chinmoy': 30 }, { 'kripamoy': 50 }]
};
// Using the _.mergeWith() method
console.log(_.mergeWith(object, other));
Javascript
// Requiring the lodash library
const _ = require("lodash");
// Defining the customizer function
function customizer(obj, src) {
if (_.isArray(obj)) {
return obj.concat(src);
}
}
// The destination object
var object = {
'amit': [{ 'susanta': 20 }, { 'durgam': 40 }]
};
// The source object
var other = {
'amit': [{ 'chinmoy': 30 }, { 'kripamoy': 50 }]
};
// Using the _.mergeWith() method
console.log(_.mergeWith(object, other, customizer));
输出:
{ ‘amit’: [{‘chinmoy’: 30, ‘susanta’: 20 }, { ‘durgam’: 40, ‘kripamoy’: 50 }] }
示例 2:
Javascript
// Requiring the lodash library
const _ = require("lodash");
// Defining the customizer function
function customizer(obj, src) {
if (_.isArray(obj)) {
return obj.concat(src);
}
}
// The destination object
var object = {
'amit': [{ 'susanta': 20 }, { 'durgam': 40 }]
};
// The source object
var other = {
'amit': [{ 'chinmoy': 30 }, { 'kripamoy': 50 }]
};
// Using the _.mergeWith() method
console.log(_.mergeWith(object, other, customizer));
输出:
{ ‘amit’: [{‘susanta’: 20 }, { ‘durgam’: 40}, {‘chinmoy’: 30}, {‘kripamoy’: 50 } ]}