私は次のオブジェクトを持っています
var obj = {};
obj.foo = {};
obj.foo.bar = "I want this";
「パス」"foo.bar"
を文字列として指定した場合、どのように取得obj.foo.bar
(またはobj[foo][bar]
) しますか?
私は次のオブジェクトを持っています
var obj = {};
obj.foo = {};
obj.foo.bar = "I want this";
「パス」"foo.bar"
を文字列として指定した場合、どのように取得obj.foo.bar
(またはobj[foo][bar]
) しますか?
方法は次のとおりです。
function getKey(key, obj) {
return key.split('.').reduce(function(a,b){
return a && a[b];
}, obj);
}
getKey('foo.bar', obj); //=> "I want this"
もしそうならpath = "foo.bar"
、あなたは書くかもしれません
var keys = path.split('.');
console.log(obj[keys[0]][keys[1]]);
動作する obj.foo.bar.. を使用するだけです。