首页 > 解决方案 > Javascript在for循环中使用值作为对象键?

问题描述

我有一个看起来像这样的 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 循环中声明的常量。

看这张图片:

在此处输入图像描述

我将如何获得这个?感谢您的任何意见!

标签: javascriptjsonfor-loopfor-of-loop

解决方案


const sitesList = {
  "sites": {
    "miami": {
      "name": "Miami Beach"
    },
    "london": {
      "name": "London Bridge"
    }
  }
}
//If you need only Value then try this,
Object.values(sitesList.sites).forEach((value)=>{console.log(value.name)})

//If you need only Key then try this,

Object.keys(sitesList.sites).forEach(key=>{console.log(key)})

//If you need both Key and Value then try this,

Object.entries(sitesList.sites).forEach(([key, value]) => console.log(`${key}: ${value.name}`))


推荐阅读