让我们以该对象为例:
var obj = {a: {b: {c: 'result'}}}
我知道这样做可以得到c的值:
console.log(obj.a.b.c) // 'result'
或这个:
console.log(obj['a']['b']['c'])
但是我如何获得将obj和column作为函数中的参数传递的c的值?
function func(obj, attributes) {
return obj[attributes]
}
console.log(func(obj, a.b.c)) // how to make this work
console.log(func(obj, ['a']['b']['c'])) // or this
您可以通过attributes
为string
类似'a.b.c'
。然后将其拆分并用于reduce
获得所需的值。
在下面进行测试。
var obj = {a: {b: {c: 'result'}}}
function func(obj, attributes) {
return attributes.split('.').reduce((x, a) => x[a], obj);
}
console.log(func(obj, 'a.b.c'));
console.log(func(obj, 'a.b'));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句