我可以访问driver.my_friends["793659690"].name
之类的值,但现在我在key
将保留密钥的循环中使用它。
driver.my_friends[key].name
不起作用。说未定义,driver.my_friends["key"].name
将查找一个名为key的密钥。那么我该如何使用它以便也可以计算变量的变量。
答案 0 :(得分:1)
当你在对象的属性上进行迭代时,一些“垃圾”可能会进入“关键”变量。我建议如下:
for (var key in driver.my_friends) {
if (key && driver.my_friends[key] && driver.my_friends[key].name) {
// Do what you need here
}
}
另外,确保当设置了driver.my_friends [key]的值时,该键与用于读取它的键相同
答案 1 :(得分:0)
driver.my_friends[key].name
是正确的方法。 key
=)中可能没有driver.my_friends
等密钥和/或该对象中不存在.name
。
您可以非常轻松地进行调试:
console.log(driver.my_friends[key]);
console.log(driver.my_friends[key].name);
即使IE8也有这样的控制台。