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 に答える