我试图访问字符串“key1.key2”作为对象的属性.
例如 :
var obj = { key1 : {key2 : "value1", key3 : "value2"}};
var attr_string = "key1.key2";
变量attr_string是由“.”连接的嵌套对象中的一串属性.它可以是任何深度,如“key1.key2.key3.key4 ……”
我想像obj.attr_string这样给出obj [“key1”] [“key2”]的值,即“value1”
怎么做到这一点?
最佳答案 感谢@dfsq记住我使用eval.
这是我期待的,一种评估对象字符串属性的简单方法.
var obj = { key1 : {key2 : "value1", key3 : "value2"}};
var attr_string = "key1.key2";
var result = eval("obj."+attr_string);
不需要用“.”分割字符串.然后将它放在循环中以获取值. eval可以使用javascript代码语句评估任何字符串.