可能重复:
Accessing nested JavaScript objects with string key如何从Javascript中的参数访问对象中的对象?
我具备的功能
function _get(name) {
return plugin._optionsObj[name] !== undefined ?
plugin._optionsObj[name] : plugin._defaults[name];
}
我希望能有我的_defaults对象的内部对象,但后来我不不知道如何检索它们,但只使用一组方括号。
即
plugin._defaults = {
val1: 1,
val2: 2,
obj1: {
someVal: 3
}
}
是否有可能从我上面的功能访问 'someVal'?我尝试传递'obj1.someVal'作为参数,但它不起作用。想法?
编辑:我找到了一个解决方案,我把它公布在下面作为答案。我写了一个非常漂亮的小函数,通过字符串来检查嵌套值,并且我不必为了实现而更改功能。我希望这可以帮助任何处于类似情况的人。
return plugin._optionsObj [name]!== undefined? plugin._optionsObj [name]:plugin._defaults [obj1] [someVal];不起作用? – lelloman
看到这个要点:https://gist.github.com/3208381#file __。deep.js ...如果你使用Underscore,你只需将路径(例如'obj1.someVal')作为一个字符串传递,并且它遍历该对象图找到嵌套值。 –
我期待着看看是否有办法解决这个问题,而不改变我的功能或实现它。 – Klik