我正在为需要访问嵌套JSON对象数组(比如说数据)的东西而苦苦挣扎。我需要访问下面的嵌套键:
let data = [{'foo' : {'bar': 'value'}, 'boo' : 'baa'}]
现在我们可以执行data ['boo']以获得字符串'baa'。但是,要获取字符串“值”,我们不能做data ['foo.bar']。现在,问题是值可以是3级或2级或直接可用。我想要一种访问数据['foo.bar']或数据['a.b.c']的方法。我从其他地方传来的钥匙。因此,我相信NgModel中的 path 选择器是执行此操作的关键。我传递的密钥是动态的,因此,如果有嵌套的密钥,我必须为我不想编写的函数编写一个不同的函数。
答案 0 :(得分:0)
您可以通过使用Javascript eval方法轻松地做到这一点。
答案 1 :(得分:0)
为什么不将split
与reduce一起使用?
const data = { foo: { bar: 'boo' } };
const key = 'foo.bar';
const boo = key.split('.').reduce((a, b) => a[b], data);
显然,您应该在防止空指针的通用函数甚至是PipeTransform
中做到这一点