我正在尝试使用 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
最佳答案
如果您需要动态属性访问,则不能使用.value
。这总是从字面上访问 "value"
的命名键。如果你想访问包含在变量 value
中的键名的属性,你需要使用方括号:obj[value]
固定演示:http://jsfiddle.net/Lv6TY/7/
console.log("Variable Pass "+Object.keys(groups[selected]));
关于javascript - 尝试访问对象时在非对象上调用未捕获的 TypeError : Object. 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17319336/