2015-03-30 2 views
2

У меня есть этот путь в строке: var path = 'bonds.international.emergent' и объект portfolio.Как добавить строку в объект «путь» в Javascript?

Я хочу получить доступ к portfolio.bonds.international.emergent, используя путь в переменной path.

Нечто вроде portfolio[path], что, очевидно, не работает. Кто-нибудь знает, как это сделать?

ответ

4

Если это только точки, вы можете разделить:

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 

Else, вы можете Eval:

var target = eval('portfolio.' + path); 

Но избежать Eval, если вы можете.

Смежные вопросы