这是我前几天写的一个天真的函数,但是它适用于基本的对象属性:
function getDescendantProp(obj, desc) { var arr = desc.split("."); while(arr.length && (obj = obj[arr.shift()])); return obj;}console.log(getDescendantProp(r, "b.b2"));//-> 99尽管有一些答案可以将其扩展为“允许”数组索引访问,但这并不是真正必要的,因为您可以通过以下方法使用点符号指定数字索引:
getDescendantProp({ a: [ 1, 2, 3 ] }, 'a.2');//-> 3

![使用点表示法字符串访问对象的子属性[重复] 使用点表示法字符串访问对象的子属性[重复]](http://www.mshxw.com/aiimages/31/430257.png)
