_.setWith(object, path, value, [customizer])

该函数在对象中设置指定路径的属性值,并使用自定义函数对属性进行处理。如果路径不存在,则会创建相应的属性路径。

参数

  • object:要设置属性值的对象。
  • path:属性路径。
  • value:要设置的属性值。
  • [customizer]:(可选)自定义函数,用于对属性进行处理。

返回值

返回设置后的对象。

示例

const object = {
  a: {
    b: {
      c: 1,
    },
  },
};

const result = _.setWith(object, "a.b.c", 2, (newValue, key, object) => {
  return newValue + 10;
});

console.log(result);
// 输出: { a: { b: { c: 12 } } }

在上述示例中,我们有一个对象 object,其中包含嵌套的属性 a.b.c。使用 _.setWith() 函数设置指定路径的属性值,并提供一个自定义函数进行处理。

在自定义函数中,我们对传入的新属性值进行处理,将其加上 10。最终,返回设置后的对象,其中属性 a.b.c 的值为 12