Jus*_*son 4 javascript arrays object
不知道怎么说这个.
我试图使用变量来确定钻入对象返回值的距离.
var target = "level1.level2.var";
var myObject = {
level1: {
level2: {
var: 'value'
}
}
}
var returnVal = myObject.target;
Run Code Online (Sandbox Code Playgroud)
怎么可以这样做?显然这不起作用.有可能是其他方式吗?
我想我可能必须爆炸目标var然后循环每个级别,但我想我会问是否有更容易的方式我可以忽略.
你可以使用这个功能:
function get_property_from_target(obj, target){
var arr = target.split('.');
for(var i = 0; i < arr.length; i++){
if(obj)
obj = obj[arr[i]];
}
return obj;
}
Run Code Online (Sandbox Code Playgroud)
然后称之为:
get_property_from_target(myObject, target);
Run Code Online (Sandbox Code Playgroud)
我也将功能重命名为更好的功能.
另外请不要命名对象属性,var因为这是Javascript中的一个关键字,它可能会令人困惑,我不确定它是否总能以您期望的方式工作,或者它是否会在某些浏览器中导致错误.