【发布时间】:2021-11-03 16:34:41
【问题描述】:
我有一个如下所示的 json:
const sitesList =
{"sites": {
"miami": {
"name": "Miami Beach"
},
"london": {
"name": "London Bridge"
}
}}
我还有一个以数组为参数的函数。此数组中的值可能是“london”、“miami”或两者兼而有之。这是函数:
async function readPDF2(sites) {
for (const value of sites) {
console.log(sitesList.sites.value.name);
}
}
函数调用如下:readPDF2(['miami']);
现在的问题是,当我执行 sitesList.sites.value.name 时,Javascript 将 value 解释为 json 对象的实际部分。这是有道理的,但是我该如何解决呢?我希望它把 value 当作在 for 循环中声明的常量。
看这张图片:
我如何获得这个? 感谢您的任何意见!
【问题讨论】:
-
将
value括在方括号中以将其用作计算结果为键的表达式:console.log(sitesList.sites[value].name); -
谢谢@danh,这是我正在寻找的解决方案:)
-
Object.values(sitesList.sites).forEach((value)=>{console.log(value.name)})
标签: javascript json for-loop for-of-loop