如何在 Javascript 中将字符串附加到对象“路径”中?

bmp*_*ini 3 javascript

我在字符串中有这条路径:var path = 'bonds.international.emergent'和对象portfolio

我想portfolio.bonds.international.emergent使用变量中的路径访问path

类似的东西portfolio[path],显然是行不通的。有人知道该怎么做吗?

Kyl*_*leK 5

如果只是点,你可以拆分:

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。