js一个对象取值问题

var obj = {'a':{'b':1},'c':2};
var str = 'a.b';
通过str怎么得到b的值

阅读 2.2k
2 个回答

我猜你可能obj还有跟深层的嵌套对象,这样不知能否满足?

var obj = {'key1':{'key2':123123},'key333':99999};
var str = 'key1.key2';
var item,i=0;
str = str.split('.');

item = obj;
while(i<str.length){
   item = item[str[i++]];
}
console.log(item);

console.log(obj.key1.key2)
console.log(eval("obj."+str))//不推荐
console.log(obj[str.split(".")[0]][str.split(".")[1]])//蛋疼

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题