访问对象值时出错

时间:2013-12-29 11:00:15

标签: javascript

我已经编写了这段代码来访问循环中的对象值,但它不允许我在循环中访问我收到控制台错误但是当我单独访问每个值时我没有收到任何错误。

<!DOCTYPE html>
    <html>
    <head>
    <title></title>
</head>
<body>

<script type="text/javascript">
    var keys;
    var obj = [{"id":"1","firstname":"Aftab","lastname":"Altaf"},{"id":"2","firstname":"Haris","lastname":"Jaliawala"},{"id":"3","firstname":"Muzammil","lastname":"Mumtaaz"}];

    for(key in obj)
    {
        keys = Object.keys(obj[key]);
    }

    console.log(obj[0].firstname);

    for(value in obj)
    {
        console.log(obj[value].keys[value]);
    }

</script>
</body>
</html>

这是我在控制台中获得的输出。 的输出

Aftab
未捕获的TypeError:无法读取未定义的属性“0”

有人请帮忙吗?

2 个答案:

答案 0 :(得分:1)

取代

console.log(obj[value].keys[value]);

使用

console.log(obj[value][keys[value]]);

答案 1 :(得分:1)

如果要在javascript中访问对象的动态属性 -

你必须使用[]而不是点符号。

这就是你必须使用console.log(obj[value][keys[value]]);

的原因