如何递归解析javascript对象以动态构建对象
我使用的模板对象映射包含表示对象属性和环境变量名称的键/值对 例如。。。我想拥有以下对象如何递归解析javascript对象以动态构建对象,javascript,node.js,Javascript,Node.js,我使用的模板对象映射包含表示对象属性和环境变量名称的键/值对 例如。。。我想拥有以下对象 var template = { propA: 'ENV_VAR_PROP_A', propB: 'ENV_VAR_PROP_B', propC: { propD: 'ENV_VAR_PROP_D' } } 我想使用下面的函数 var parseConfig = function (template) {
var template = {
propA: 'ENV_VAR_PROP_A',
propB: 'ENV_VAR_PROP_B',
propC: {
propD: 'ENV_VAR_PROP_D'
}
}
我想使用下面的函数
var parseConfig = function (template) {
var config = {};
for(var prop in template){
var key = template[prop];
var val = process.env[key];
if(val) {
config[prop] = val;
}
}
return config;
};
注意上述函数对我不起作用,因为它在属性上的深度不超过一层
解析模板的结果应该是如下所示的对象
var template = {
propA: '{result of process.env.ENV_VAR_PROP_A}',
propB: '{result of process.env.ENV_VAR_PROP_B',
propC: {
propD: '{result of process.env.ENV_VAR_PROP_D}'
}
}
这个问题的副本。这个问题的副本。