javascript - 尝试访问对象时在非对象上调用未捕获的 TypeError : Object. 键

标签 javascript jquery arrays object

我正在尝试使用 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/

相关文章:

php - 使用 PHP 从 css 文件中提取颜色

javascript - 如何使用 Asp.net 和 Jquery 动态显示评论(如 Stack Overflow)?

将 chrome 原生客户端中的 pp::Var 数组转换为 C 整数数组

javascript - 将获取远程链接加载到引导模式框中

javascript - BigInt 模 float

Javascript 继承 : How to

jquery - 如何在 jQuery Mobile 1.3 中实现可滚动的内容 Pane

javascript - 带有 jQ​​ueryMobile-Router 的 Require.js

c - 如何在结构中初始化静态数组

c - 如何找到数组的大小(从指向数组第一个元素的指针)?