【发布时间】:2019-11-12 18:13:45
【问题描述】:
_.get() 函数允许您使用字符串从 Json 对象中深度获取值。 但是它获取值而不是引用,是获取对 Json 对象的引用的等效命令(或差异方式)
示例:
var object = { 'a': [{ 'b': { 'c': 3 } }] };
const r = _.get(object, 'a[0].b');
r <<< is new object not a ref.
谢谢,
肖恩
【问题讨论】:
-
引用是什么意思?对号码
3的引用? -
可以通过
var ref = _.get(object, 'a[0].b')获取对象{ 'c': 3 }。_.get将返回对该对象的引用。更改ref.c将更改原始对象 -
"
r是新对象而不是引用"。那么尝试更改它的属性并注意原始对象会发生什么。r从原始对象引用对象{ 'c': 3 }。这可以通过检查object.a[0].b === r来证明 -
github 链接中的问题完全不同。他们正试图获取根对象本身。您正在尝试获取一个返回引用的嵌套对象:repl.it/repls/UselessVeneratedRobodoc
标签: javascript json underscore.js lodash