3

我有以下对象

var obj = {};
obj.foo = {};
obj.foo.bar = "I want this";

给定“路径”"foo.bar"作为字符串,我如何检索obj.foo.bar(或obj[foo][bar])?

4

3 回答 3

13

这里有一个方法:

function getKey(key, obj) {
  return key.split('.').reduce(function(a,b){
    return a && a[b];
  }, obj);
}

getKey('foo.bar', obj); //=> "I want this"
于 2013-09-19T10:17:54.257 回答
0

如果path = "foo.bar"那么你可以写

var keys = path.split('.');
console.log(obj[keys[0]][keys[1]]);
于 2013-09-19T10:18:19.377 回答
-4

只需使用 obj.foo.bar.. 即可;

于 2013-09-19T10:18:00.057 回答