Javascript 在我的数组中循环将错误字符[i]返回为";未定义的“;,虽然console.log(chars[i].index)显示该值

Javascript 在我的数组中循环将错误字符[i]返回为";未定义的“;,虽然console.log(chars[i].index)显示该值,javascript,arrays,loops,Javascript,Arrays,Loops,我正在遍历我的dateIndex数组,但我得到的dateIndex[I]未定义,但当我将dateIndex[I].index记录到console.log中时,会显示该值 let dateIndex = { dateAndoutPutElements:[ {"d_index": 3, "outPutElement": "1st"}, {"d_index": 11, "outPutEle

我正在遍历我的dateIndex数组,但我得到的dateIndex[I]未定义,但当我将dateIndex[I].index记录到console.log中时,会显示该值

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) +'&degC'   
    '<br>Description:  '+ descript +   '</p>';

  document.getElementById(chars[i].outPutElement).innerHTML = output;


  //View.show5DayForecast(date, ic, tempValue, descript, chars[i].outPutElement);   
}  
let dateIndex={
dateAndoutPutElements:[
{“d_index”:3,“outPutElement”:“1st”},
{“d_索引”:11,“outPutElement”:“第二”},
{“d_索引”:19,“outPutElement”:“第三”},
{“d_索引”:27,“outPutElement”:“第四”},
{“d_索引”:35,“输出元素”:“第5”}
]
}; 
让chars=dateIndex.dateAndoutPutElements;
控制台日志(chars);
log(“索引为”+chars[1].d_索引);
让len=“”;
让day=1;
for(设i=0;len=chars.length;i++){
log(“索引为”+chars[i].d_Index);//此处显然发生错误
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(tempValue);
控制台日志(descript);
console.log(图标);
log(chars[i].outPutElement);
设ic='';
day++;
让输出=
“Date:”+Date+
“
”+ic+ “
温度:”+Math.round(tempValue)+“°C” “
描述:”+descript+”

”; document.getElementById(chars[i].outPutElement).innerHTML=output; //View.show5DayForecast(日期、ic、tempValue、描述符、字符[i].outPutElement); }
错误消息:

TypeError:字符[i]未定义 五天预售城市天气装载副本 承诺回调*五天预测城市天气负荷


你的for循环不正确,
len=chars.length
应该是
i
for(让i=0;len=chars.length;i++){
@George,我以前试过,但没用。我现在改了,试过了,出于某种原因,现在效果很好。多谢。但后来我遇到了另一个问题,其他元素在哪里(日期、图标和温度)显示,但不是最后一个“描述”。您的代码段中没有包含
数据
,因此我无法帮助您检查描述是否存在data@George说明存在于数据中,我甚至还添加了console.log()它和它的显示,但没有出现在屏幕上。第四个reserByra模型。js:141:25索引是35 reserByra模型。js:129:25天:5预测reserByra模型。js:136:25 2020-11-10 06:00:00 reserByra模型。js:137:25 15.24 reserByra模型。js:138:25[晴空]reserByra模型。js:139:25 01n