#javascript #arrays #loops
#javascript #массивы #циклы
Вопрос:
Я перебираю свой массив dateIndex, но я получаю dateIndex [i] как неопределенный, но когда я консолью.регистрирует dateIndex[i].index, отображается значение.
let dateIndex = {
dateAndoutPutElements:[
{"d_index": 3, "outPutElement": "1st"},
{"d_index": 11, "outPutElement": "2nd"},
{"d_index": 19, "outPutElement": "3rd"},
{"d_index": 27, "outPutElement": "4th"},
{"d_index": 35, "outPutElement": "5th"}
]
};
let chars = dateIndex.dateAndoutPutElements;
console.log(chars);
console.log("Index is " chars[1].d_index);
let len="";
let day=1;
for (let i = 0; len = chars.length; i ) {
console.log("Index is " chars[i].d_index); // Error occurs here apparently
var date = data.list[chars[i].d_index].dt_txt;
var tempValue = data.list[chars[i].d_index].main.temp;
var descript = data.list[chars[i].d_index].weather[0].description;
var icon = data.list[chars[i].d_index].weather[0].icon;
console.log('Day:' day ' forecast');
console.log(date);
console.log(tempValue);
console.log(descript);
console.log(icon);
console.log(chars[i].outPutElement);
let ic = '<div> <img height="150" width="150" src="http://openweathermap.org/img/wn/' icon '@2x.png" ></img></div>';
day ;
let output =
'<p> Date: ' date
'<br> ' ic
'<br>Temperature: ' Math.round(tempValue) 'amp;degC'
'<br>Description: ' descript '</p>';
document.getElementById(chars[i].outPutElement).innerHTML = output;
//View.show5DayForecast(date, ic, tempValue, descript, chars[i].outPutElement);
}
Сообщение об ОШИБКЕ:
Ошибка типа: символы [i] не определены fiveDaysForecastCityWeatherLoad_Copy http://127.0.0.1:5501/model/reserByra-model.js:129 обратный вызов обещания*fiveDaysForecastCityWeatherLoad_Cop
Комментарии:
1. ваш цикл for неверен,
len = chars.length
должен бытьi < chars.length
2.
for (let i = 0; len = chars.length; i ) {
<— ваше сравнение неверно…. это всегда будет true (если chars не пусто)3. @George, я пробовал это раньше, и это не сработало. Я изменил это сейчас и попробовал, теперь по какой-то причине он работает нормально. Большое спасибо. Но затем я сталкиваюсь с другой проблемой, когда отображаются другие элементы (дата, значок и temp), но не последний «descript» .
4. вы не включили
data
в свой фрагмент кода, поэтому я не могу помочь вам с проверкой того, что описание существует в data5. @George описание существует в данных, и у меня даже есть console.log(), и оно отображается, но не отображается на экране. 4-й reserByra-model.js:141:25 Индекс равен 35 reserByra-model.js:129:25 День: 5 прогноз reserByra-model.js:136:25 2020-11-10 06:00:00 Резервная копия-model.js:137:25 15.24 Резервная копия-model.js:138:25[чистое небо] reserByra-model.js:139:25 01n