使用密钥访问JS对象

时间:2011-05-16 21:38:46

标签: javascript

我可以访问driver.my_friends["793659690"].name之类的值,但现在我在key将保留密钥的循环中使用它。

driver.my_friends[key].name不起作用。说未定义,driver.my_friends["key"].name将查找一个名为key的密钥。那么我该如何使用它以便也可以计算变量的变量。

2 个答案:

答案 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也有这样的控制台。