你好,我对这个有点陌生,所以我想做的是:
var Obj = { "Key": { "Key2": "Value" } } var path = ["Key","Key2"]
如何使用路径变量获取Obj.Key.Key2的“值”?
xdnvmnnf1#
您可以使用Array.reduce()来执行以下操作:
const value = path.reduce((accum, key) => accum[key], string)
wixjitnu2#
有几种方法。首先,你可以使用一个循环来逐步遍历路径,如下所示:
const obj = { "string2": { "value": "Message" } }; const path = [ "string2", "value" ]; let output = obj; path.forEach(key => { output = output[key]; }); console.log( output );
递归
const obj = { "string2": { "value": "Message" } }; const path = [ "string2", "value" ]; const trav = (o,p,i) => (i < p.length - 1) ? trav(o[p[i]],p,i+1) : o[p[i]]; console.log( trav(obj,path,0) );
新功能
const obj = { "string2": { "value": "Message" } }; const path = [ "string2", "value" ]; const output = (new Function(`return (obj.${path.join('.')})`))(); console.log( output );
2条答案
按热度按时间xdnvmnnf1#
您可以使用Array.reduce()来执行以下操作:
wixjitnu2#
有几种方法。首先,你可以使用一个循环来逐步遍历路径,如下所示:
递归
新功能