首页 > 解决方案 > 在 Javascript 中选择数组时遇到问题

问题描述

Javascript 新手。尝试从项目的天气 API 中提取数据,但遇到了一个我确信很容易解决的问题。这是我已经获取的数据:

{coord: {…}, weather: Array(1), base: "stations", main: {…}, visibility: 9656, …}
coord: {lon: -76.13, lat: 43.04}
weather: Array(1)
     0: {id: 500, main: "Rain", description: "light rain", icon: "10d"}
     length: 1
__proto__: Array(0)
base: "stations"
main: {temp: 281.12, feels_like: 274.24, temp_min: 280.37, temp_max: 282.04, pressure: 1004, …}
visibility: 9656
wind: {speed: 8.2, deg: 310}
rain: {1h: 0.25}
clouds: {all: 90}
dt: 1587324361
sys: {type: 1, id: 5965, country: "US", sunrise: 1587291309, sunset: 1587340289}
timezone: -14400
id: 0
name: "Syracuse"
cod: 200
__proto__: Object

我需要做的是在天气类下选择“雨”。但是,由于它在数组内部,我不知道如何获取它。例如,如果我这样做

data.visibility

我当然会带着 9656 回来。但如果我这样做了

data.weather.0甚至data.weather.["0"] 我会遇到以下错误:Uncaught SyntaxError: Unexpected number。即使我没有收到此错误,我将如何访问数组中的特定元素“Rain”?

抱歉,如果这是一个简单的解决方法,只是由于我搜索时的措辞非常具体而无法找到答案。

标签: javascriptselector

解决方案


如果您只需要数组的第一个元素,您可以简单地使用索引来获取值 data.weather[0].main。或者您可以通过 Array 方法映射一个数组data.weather.map(item => item.main)。您将获得一个自定义数组 ["Rain"]


推荐阅读