gpt4 book ai didi

javascript - 使用for循环访问javascript中的对象属性?

转载 作者:行者123 更新时间:2023-11-28 15:20:54 24 4
gpt4 key购买 nike

考虑以下对象:

var nyc = {
fullName: "New York City",
mayor: "Bill de Blasio",
population: 8000000,
boroughs: 5
};

当我尝试使用 for 循环访问每个属性时:

for(var key in nyc){
console.log(nyc[key]);
}

它返回正确输出(属性值),但是...

for(var key in nyc){
console.log(nyc.key);
}

此命令在 4 行返回“未定义”

为什么会有奇怪的行为,因为两者:

console.log(nyc.fullName);
console.log(nyc['fullName']);

给出相同的o/p。

最佳答案

nyc.key 查找名为 key 的属性,不是变量 key< 中具有该名称的属性。您的第一个示例 nyc[key] 是使用变量中的属性名称的正确方法。

在 JavaScript 中,您可以使用点表示法和属性名称​​文字 (obj.foo) 或方括号表示法和属性名称​​字符串来访问对象属性(obj["foo"])。在第二种情况下,您可以使用任何表达式来获取字符串,包括变量查找。 (在 ES6 中,您还可以使用带括号表示法的 Symbol,但这里不相关。)

关于javascript - 使用for循环访问javascript中的对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31489199/

24 4 0
文章推荐: javascript - 解析 Promise,destroyAll();不工作?
文章推荐: html - 使用 ReactJS 映射物化 css