使用 lodash (或等效的) _.get() 函数通过引用而不是值获取对象

bor*_*net 3 javascript json underscore.js lodash

_.get() 函数允许您使用字符串从 Json 对象中深度获取值。但是它获取值而不是引用,是获取对 Json 对象的引用的等效命令(或 diff 方式)

例子:


var object = { 'a': [{ 'b': { 'c': 3 } }] };

const r = _.get(object, 'a[0].b');
r <<< is new object not a ref.

Run Code Online (Sandbox Code Playgroud)

谢谢,

肖恩

Jak*_*ger 5

_.get函数不会创建新对象。它已经返回一个“引用”。

const object = { 'a': [{ 'b': { 'c': 3 } }] };

const r = _.get(object, 'a[0].b');

console.log(r === object.a[0].b); // true
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)