получение индекса из массива объектов - PullRequest
2 голосов
/ 18 января 2020

Я использую API openweather для проекта, и данные меняются в зависимости от того, в какое время дня вы его просматриваете. Итак, я пытаюсь провести l oop через первые 8 объектов, чтобы найти dt_txt = до 12:00:00. Мне нужно присвоить результат переменной, чтобы я мог затем увеличить его на 8.

Вот как поступают данные (только первый индекс):

0:
dt: 1579316400
main: {temp: 271.29, feels_like: 259.49, temp_min: 271.29, temp_max: 272.35, pressure: 1026, …}
weather: [{…}]
clouds: {all: 100}
wind: {speed: 13.55, deg: 147}
snow: {3h: 5}
sys: {pod: "n"}
dt_txt: "2020-01-18 03:00:00"
__proto__: Object 

моя попытка:

for (let i = 0; i < 8; i++) {
  if ((response.list[i].dt_txt).substring(11) === "12:00:00") {
    var noon = indexOf("12:00:00")
    console.log(noon);

Заранее спасибо!

Редактировать Я думал, что упускаю что-то очевидное!

Рабочий код:

for (let i = 0; i < 8; i++) {
                if ((response.list[i].dt_txt).substring(11) === "12:00:00") {
                    var noon = response.list[i]
                    console.log(noon);
                    var noon2 = response.list[i + 8]
                    console.log(noon2);

1 Ответ

0 голосов
/ 18 января 2020

Прочитайте Javascript Методы массива (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)

Например, фильтр вернет объект из списка, который соответствует вашим критериям. const result = response.list.filter(res => res.dt_txt === "12:00");

или findIndex вернет индекс поиска.

...