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