我知道这可能比我的大脑要容易做,但是由于某种原因,我无法正确地做到这一点:
我有一个看起来像这样的数组:
["engine", "engine.car", "engine.car.driver",
"engine.car.passenger", "wheels", "wheels.tires"]
我想将上述数组转换为该对象:
{
engine : {
car : {
driver : undefined,
passenger: undefined
}
},
wheels : {
tires: undefined
}
}
我正在使用8.10.0节点。
答案 0 :(得分:-2)
使用JavaScript和eval功能非常简单。这是一个简单的例子。
var arr = ["engine", "engine.car", "engine.car.driver", "engine.car.passenger", "wheels", "wheels.tires"];
obj = {};
for(var i = 0; i < arr.length; i++)
eval("obj." + arr[i] + " = {}");
console.log(obj);
编辑:因此,对于eval的使用,我似乎感到沮丧。 Eval不是邪恶的,它的大多数实现都是邪恶的,但这是对它的完全有效的使用,如下面的注释所述,请不要仅仅因为它使用eval而投票。如果您确实对发布的答案有疑问,请随时使用评论让我知道原因,以便我可以更新答案或OP可以获取他们需要的帮助。