📜  Lodash _.mergeWith() 方法

📅  最后修改于: 2022-05-13 01:56:55.772000             🧑  作者: Mango

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));


输出:

示例 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));

输出: