我正在尝试使用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
答案 0 :(得分:3)
如果您需要动态媒体资源访问权限,则无法使用.value
。这总是字面上访问"value"
的命名键。如果要使用变量value
中包含的键名访问属性,则需要使用括号:obj[value]
修正了演示:http://jsfiddle.net/Lv6TY/7/
console.log("Variable Pass "+Object.keys(groups[selected]));