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]]);