我有一个相当简单的 JSON 文件,我试图访问其中的项目。我有这个工作但由于某种原因它不再工作并且它让我的大脑受伤。这是 JSON:
[
{
"firstItem":
{
"message": "firstItem is working",
"value": ["hello", "world"]
}
},
{
"secondItem":
{
"message": "secondItem is working",
"value": ["hello", "aliens"]
}
}
]
请注意,有一个包含两个对象(firstItem 和 secondItem)的数组,其中包含对象(消息和值)。我正在尝试像这样访问这些项目:
// the json from above is equal to json
json.map(items => {
console.log(items.firstItem.message)
console.log(items.firstItem.value.join(", "))
console.log(items.secondItem.message)
console.log(items.secondItem.value.join(", "))
})
一如既往,我们将不胜感激。
编辑:我将右括号放在联接上。这不是我的问题的一部分。我想我太习惯 VSCode 为我做这件事了。 :)
最佳答案
您在 console.log join
语句中缺少右括号。第二个也是更大的问题是,对于 map
,您首先循环遍历 firstItem
,然后是 secondItem
,因此在第一次迭代中 map
不知道 secondItem
是什么。我将每个对象的名称更改为 "item"
并将 map
中的代码减半以解决问题:
const json = [
{
"item":
{
"message": "firstItem is working",
"value": ["hello", "world"]
}
},
{
"item":
{
"message": "secondItem is working",
"value": ["hello", "aliens"]
}
}
]
json.map(items => {
console.log(items.item.message);
console.log(items.item.value.join(", "));
})
关于javascript - 访问对象数组中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58921586/