Возникли проблемы при выборе массива в Javascript - PullRequest
1 голос
/ 19 апреля 2020

новичок в 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: Неожиданный номер. И даже если бы я не получил эту ошибку, как бы я go получил доступ к указанному c элементу "Дождь" в массиве?

Извините, если это легко исправить, просто возникают проблемы с поиском ответа из-за очень конкретной формулировки c всякий раз, когда я ищу.

Ответы [ 2 ]

3 голосов
/ 19 апреля 2020

Если вам нужен только первый элемент массива, вы можете просто использовать индекс, чтобы получить значение data.weather[0].main. Или вы можете отобразить массив с помощью метода Array data.weather.map(item => item.main). Вы получите индивидуальный массив ["Дождь")

2 голосов
/ 19 апреля 2020

Доступ к нему осуществляется следующим образом:

data.weather [0] .main

где 0 - целое число, описывающее индекс элемента массива.

...