#javascript
#javascript
Вопрос:
Я читаю из веб-API «даты», и рядом с каждой датой есть час (24), поэтому я получаю 24-часовые отметки, а рядом с ними я получаю 24 даты одного и того же дня, но мне нужна только одна дата каждого дня. Чтобы вы могли выбрать дату в опции, погоду на какую дату вы хотите видеть.
function datos() {
citySelected = document.getElementById("miestas").value;
let xh = new XMLHttpRequest();
xh.onreadystatechange = function () {
if(xh.readyState === 4 amp;amp; xh.status === 200) {
let data = JSON.parse(xh.responseText);
for(let i=0;i < data.forecastTimestamps.length; i ) {
let dateV = [];
if(data.forecastTimestamps[i].forecastTimeUtc.slice(0,10) === dateV){
} else {
dateV.push(data.forecastTimestamps[i].forecastTimeUtc.slice(0,10));
}
let option = document.createElement("option");
let datalist = document.getElementById("datuList");
option.value = dateV[i];
datalist.appendChild(option);
}
}
}
xh.open("GET", "https://api.meteo.lt/v1/places/" citySelected "/forecasts/long-term");
xh.send();
}
Итак, прямо сейчас он выталкивает первый, а другие параметры in «не определены».
Комментарии:
1. if (!myArray.includes(вещь)) {myArray.push(вещь)}
2. Вы устанавливаете
dateV
пустой массив на каждой итерации, поэтому вы всегда сравниваете с пустым массивом…3. Вы не можете сравнивать массивы подобным образом
someArray === dateV
. Это всегда false . Даже если они содержат одинаковые значения.