1.问题:
2.代码:
for(let i = 0; i < (this.state.chart5_resX.length < 5 ? this.state.chart5_resX.length:5);i++){ let name3 = this.state.chart5_resX[i]["dev_name"]; let temp3 = this.state.chart5_resX[i]["historical_temp_3m"]; this.state.chart5_name3.push(name3); this.state.chart5_Temp3.push(temp3); }
这里把取字段换成.取也还是不行
let name3 = this.state.chart5_resX[i].dev_name;
let temp3 = this.state.chart5_resX[i].historical_temp_3m;
3.解决办法
通过查阅百度找到了如下解决办法:this.state.chart5_resX[i].dev_name的值可以是未定义的、null或空字符串。然后可以使用"?“标记并检查this.state.chart5_resX[i]?.dev_name是否有值。
代码:
for(let i = 0; i < (this.state.chart5_resX.length < 5 ? this.state.chart5_resX.length:5);i++){ let name3 = this.state.chart5_resX[i]?.dev_name; let temp3 = this.state.chart5_resX[i]?.historical_temp_3m; this.state.chart5_name3.push(name3); this.state.chart5_Temp3.push(temp3); }
成功解决问题。