Javascript 访问对象值时出错

Javascript 访问对象值时出错,javascript,Javascript,我写这段代码是为了访问循环中的对象值,但它不允许我访问循环中的对象值。我得到了控制台错误,但当我单独访问每个值时,我没有得到任何错误 <!DOCTYPE html> <html> <head> <title></title> </head> <body> <script type="text/javascript"> var keys; var obj = [

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

<!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>

var键;
var obj=[{“id”:“1”,“firstname”:“Aftab”,“lastname”:“Altaf”},{“id”:“2”,“firstname”:“Haris”,“lastname”:“Jaliawala”},{“id”:“3”,“firstname”:“Muzammil”,“lastname”:“Mumtaaz”};
用于(输入obj)
{
keys=Object.keys(obj[key]);
}
console.log(obj[0].firstname);
用于(以obj为单位的值)
{
log(obj[value].keys[value]);
}
这是我在控制台中得到的输出。 输出

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

有人请帮忙吗?

代替

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


当您想要访问javascript中对象的dinamic属性时-

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


这就是为什么必须使用
console.log(obj[value][keys[value]])

obj
是一个数组,不管你称它为
obj
,它仍然是一个数组,数组是用常规for循环迭代的,迭代只在变量
keys
中存储最后一个迭代特键,而不是全部,所以基本上都是错的。
console.log(obj[value][keys[value]]);