【发布时间】:2020-06-15 03:03:29
【问题描述】:
我正在尝试将符号 variableName[field1][field2] 中的一些变量转换为符号 variableName.field1.field2
我这样做的原因是因为用户可以在 UI 中输入变量名,我不想直接 eval() 它们,所以我通过这个函数运行它们:
function getDescendantProp(obj, desc) {
var arr = desc.split(".");
while (arr.length) {
obj = obj[arr.shift()];
}
return obj;
}
这使它无需在运行时评估代码即可获取变量值。不幸的是,如果变量以方括号表示法 [ ]
给出,这不起作用【问题讨论】:
-
括号符号是否包含引号?是
[field1]还是['field1']?还是两者兼而有之?
标签: javascript arrays regex