我正在尝试使用访问对象内部的数组Object.keys(obj.arr));
方法。如果我像下面一样直接访问数组,那么它会给出正确的输出:
alert(Object.keys(obj.arr));
但如果我使用参数传递数组名称,则会出现错误:
var selected = "arr";
alert(Object.keys(obj.arr));
error : Uncaught TypeError: Object.keys called on non-object
有例子:DEMO http://jsfiddle.net/Lv6TY/6/
如果您需要动态属性访问,则不能使用.value
。这总是从字面上访问命名密钥"value"
。如果您想使用变量中包含的键名访问属性value
你需要使用括号:obj[value]
修复演示:http://jsfiddle.net/Lv6TY/7/ http://jsfiddle.net/Lv6TY/7/
console.log("Variable Pass "+Object.keys(groups[selected]));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)