NodeJS 如何获取对象字符串中对象的值

7eumitmz  于 2023-01-16  发布在  Node.js
关注(0)|答案(2)|浏览(199)

你好,我对这个有点陌生,所以我想做的是:

var Obj = {
    "Key": {
        "Key2": "Value"
    }
}

var path = ["Key","Key2"]

如何使用路径变量获取Obj.Key.Key2的“值”?

xdnvmnnf

xdnvmnnf1#

您可以使用Array.reduce()来执行以下操作:

const value = path.reduce((accum, key) => accum[key], string)
wixjitnu

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 );

相关问题