我在字符串中有这条路径:var path = 'bonds.international.emergent'和对象portfolio。
我想portfolio.bonds.international.emergent使用变量中的路径访问path。
类似的东西portfolio[path],显然是行不通的。有人知道该怎么做吗?
如果只是点,你可以拆分:
var path = 'bonds.international.emergent';
var target = portfolio;
path = path.split('.');
for(var i = 0; i < path.length; i++) {
target = target[path[i]];
}
alert(target); // = portfolio.bonds.international.emergent
Run Code Online (Sandbox Code Playgroud)
否则,您可以评估:
var target = eval('portfolio.' + path);
Run Code Online (Sandbox Code Playgroud)
但如果可以的话,请避免 eval。