访问js中的嵌套对象

时间:2015-01-16 06:43:41

标签: javascript

我有像

这样的对象
var obj = {
  floorPlan: 'hello',
  dateSpan: {
    from: Sat Feb 21 2015 00: 00: 00 GMT + 0530(IST),
    to: Wed Feb 25 2015 00: 00: 00 GMT + 0530(IST)
  }
};

和一个字符串

var a = 'dateSpan.to';

我想使用变量'a'访问'obj.dateSpan.to'。 我该怎么做? 请帮忙。

1 个答案:

答案 0 :(得分:1)

您需要将字符串拆分为.个字符并循环遍历该对象,直到您到达拆分字符串的最后一部分:

function getValue(str) {
    var val = obj,
        parts = str.split('.');
    while (val[parts[0]]) {
        val = val[parts.shift()]
    }
    return parts.length == 0 ? val : null;
}


var obj = {
    floorPlan: 'hello',
    dateSpan: {
        from: "Sat Feb 21 2015 00: 00: 00 GMT + 0530(IST)",
        to: "Wed Feb 25 2015 00: 00: 00 GMT + 0530(IST)"
    }
};

var a = 'dateSpan.to';

alert(getValue(a));