在使用新数组中的$ .makeArray()函数后获取对象属性

时间:2015-04-20 09:44:27

标签: javascript jquery arrays

我有以下代码,我使用$ .makeArray将我的对象转换为数组。稍后,我希望打印或获取现在在数组中的对象的名称和年龄:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
var alpha = {name:"Ronald", age:29, gender:"male"};
var beta = $.makeArray(alpha);
alert (beta);
</script>
</head>
<body>
</body>
</html>

输出为[Object object]。现在,即使我正在推测&#34; beta [01] [01]&#34;警告或console.log它显示错误:

Uncaught TypeError: Cannot read property '1' of undefined

尽管如此,makeArray函数成功地将对象转换为数组但是,我无法获取任何结果(例如:现在为2d数组的对象的名称或年龄)。

2 个答案:

答案 0 :(得分:3)

因为在javascript中如果你警告一个对象,它会给你[Object object]。由于这是一个数组,您必须使用索引,后跟属性名称

var alpha = {name:"Ronald", age:29, gender:"male"};
var beta = $.makeArray(alpha);
alert (beta[0].name);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

答案 1 :(得分:1)

你实际警告数组(对象,对象),然后在下一次尝试中你确实警告数据有错误的索引,如[01] [01]所以它会抛出未定义的错误。 您必须使用如下[rowindex] ['key']

如下所示

 var alpha = {name:"Ronald", age:29, gender:"male"};
var beta = $.makeArray(alpha);
alert (beta[0]['name']);

Document