是否可以使用对象本身获取对象的引用
OBJ
和字符串形式的属性
'address.town.street'
以便最终解析
obj.address.town.street
我可以像eval()函数一样使用smth。
答案 0 :(得分:3)
尝试
function getValue(obj, path) {
return path.split(".").reduce(function(obj, name){ return obj[name]}, obj);
}
答案 1 :(得分:0)
不要使用eval。请改用
Object.prototype.nestedByString=function(reference){
var current=this;
path=reference.split(".");
for(var i=0;i<path.length;i++){
current=current[path[i]];
}
return current;
}
Here是演示
我想如果你对扩展原生原型过敏,你可以这样做
function nestedByString(obj,reference){
var current=obj;
path=reference.split(".");
for(var i=0;i<path.length;i++){
current=current[path[i]];
}
return current;
}