Javascript 访问对象中数组中的数据
我试图从对象中的数组访问数据,如下面的代码所示。我可以访问Javascript 访问对象中数组中的数据,javascript,arrays,object,Javascript,Arrays,Object,我试图从对象中的数组访问数据,如下面的代码所示。我可以访问maintemp正常,但不能访问weathermain。请让我知道我做错了什么。多谢各位 请参阅数据图像的链接 let long; let lat; let temperatureDescription = document.querySelector(".temperature-description"); let temperatureDegree = document.querySelector(".t
main
temp
正常,但不能访问weather
main
。请让我知道我做错了什么。多谢各位
请参阅数据图像的链接
let long;
let lat;
let temperatureDescription = document.querySelector(".temperature-description");
let temperatureDegree = document.querySelector(".temperature-degree");
let locationTimezone = document.querySelector(".location-timezone");
window.addEventListener("load", () => {
let long;
let lat;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(position => {
lon = position.coords.longitude;
lat = position.coords.latitude;
const proxy = "https://cors-anywhere.herokuapp.com/"
const api = `${proxy}api.openweathermap.org/data/2.5/weather?lat=${lat}&lon=${lon}&appid=d8c99fa56f1fcaaed3c5c9dd0cd52b72`
fetch(api)
.then(response =>{
return response.json();
})
.then(data => {
console.log(data);
const {temp} = data.main;
const {main} = data.weather[0].main;
// set DOM Elements from the API
temperatureDegree.textContent = temp;
temperatureDescription.textContent = main;
});
});
}
});
尝试将行更改为
const main=data.weather[0]。main
或
const{main}=data.weather[0]
您所做的操作相当于访问未定义的
data.weather[0].main.main
。下面是javascript中的参考页,可以帮助解释如何使用它。也许这会对您有所帮助
main = {
"weather": [
{
"id": 803,
"main": "clouds",
"description": "broken clouds",
"icon": "04n"
}
]
}
console.log(main["weather"][0]["main"])
打印:
“云”
您不能访问是什么意思?你有什么错误吗?我看到你有一行console.log(data)代码>它的输出是什么?看到要提取的字段了吗?可能是您的数据没有这些字段……您能将链接转换为文本吗?@PayamV是的,我得到的数据与链接中的数据相同(访问代码正下方的数据),因为我可以确定它有这些字段。@periplo。没有错误,我的页面上没有显示任何内容。