如何在Javascript中使用括号表示法访问对象的深度属性

时间:2014-05-17 13:10:50

标签: javascript node.js underscore.js

我想这样做:

market['global']['name']

像这样:

market['global.name'] //undefined

为什么呢?因为它允许循环使用不同路径的数组。而不是必须创造大量的例外

1 个答案:

答案 0 :(得分:1)

你可以使用这样的东西来获取吸气剂

function get_prop(obj,chain){
  chain=chain.split('.');
  var nobj={};
  for(var i in obj){
    if (obj.hasOwnProperty(i)) {
      nobj[i]=obj[i];
    }
  }
  for(var i=0; i<chain.length; i++){
    if (nobj.hasOwnProperty(chain[i]) {
      nobj=nobj[chain[i]];
    } else {
      return null;
    }
  }
  return nobj;
}

以后生病了。但应该是这样的话