📜  Lodash _.assignWith() 方法(1)

📅  最后修改于: 2023-12-03 14:44:02.033000             🧑  作者: Mango

Lodash _.assignWith() 方法

Lodash 是一个 JavaScript 的实用工具库,它封装了常用的 JavaScript 操作,这样我们在编写代码时可以更加便捷和高效。Lodash 中的 _.assignWith() 方法可以用来合并两个或多个对象并返回合并后的新对象,可以将相同属性的值进行自定义操作后再合并。

语法
_.assignWith(object, [sources], customizer)

参数

  • object (Object): 被分配属性的对象
  • [sources] (...Object): 分配属性的来源对象, 支持传入多个来源对象
  • customizer (Function): 一个回调函数,用于自定义合并规则
示例
const _ = require('lodash');

var object = { 'a': 1 };
var other = { 'a': 2, 'b': 2 };

_.assignWith(object, other, function(a, b) {
  // 自定义合并规则,相同属性的值进行相加
  return _.isUndefined(a) ? b : a + b;
});

console.log(object);
// => { 'a': 3, 'b': 2 }

上面的示例通过 Lodash 中的 _.assignWith() 方法将 objectother 两个对象合并,并且自定义合并规则,将相同属性的值进行相加。

这里自定义的合并规则接收两个参数 aba 表示 object 中对应属性的值,b 表示来源对象中对应属性的值。如果返回结果不是 undefined,则将返回结果赋值为新对象的属性值;如果返回结果是 undefined,则使用默认的合并规则进行合并。

注意事项
  • 调用该方法会修改 object 对象。
  • 如果有多个来源对象存在相同属性,最后一个来源对象的属性值将会覆盖前面的属性值。
参考链接