📜  Lodash _.update() 方法

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

Lodash _.update() 方法

_.update()方法接受更新程序来生成要设置的值。此方法使用 _.updateWith()函数来自定义路径创建。它与 _.set()函数几乎相同。

句法:

_.update(object, path, updater)

参数:此方法接受三个参数,如上所述,如下所述:

  • object:此参数保存要修改的对象。
  • path:此参数保存要设置的属性的路径。它将是数组或字符串。
  • updater:这是产生更新值的函数。

返回值:此方法返回新对象。

注意:这里使用 const _ = require('lodash') 将 lodash 库导入文件。

示例 1:

Javascript
// Requiring the lodash library  
const _ = require("lodash");  
  
// The source object 
var obj = { 'cpp': [{ 'java': { 'python': 3 } }] };
  
// Use of _.update() method 
_.update(obj, 'cpp[0].java.python', 
    function(n) { return n * n; });
  
// return the new object
console.log(obj.cpp[0].java.python);


Javascript
// Requiring the lodash library  
const _ = require("lodash");  
  
// The source object 
var obj = { 'cpp': [{ 'java': { 'python': 3 } }] };
  
// Use of _.update() method 
_.update(obj, 'html[0].css.javascript', 
    function(n) { return n ? n + 1 : 0; });
  
// return the new object
console.log(obj.html[0].css.javascript);


输出:

9

示例 2:

Javascript

// Requiring the lodash library  
const _ = require("lodash");  
  
// The source object 
var obj = { 'cpp': [{ 'java': { 'python': 3 } }] };
  
// Use of _.update() method 
_.update(obj, 'html[0].css.javascript', 
    function(n) { return n ? n + 1 : 0; });
  
// return the new object
console.log(obj.html[0].css.javascript);

输出:

0

注意:这在普通 JavaScript 中不起作用,因为它需要安装库 lodash。

参考: https://lodash.com/docs/4.17.15#update