console.log("list"); console.log(list); console.log(list.length); for (let i = 0; i < list.length; i++) { const state = list[i].DATE_TYPE; const info = list[i].INFO;//时间 for (let z = 0; z < list[i].INFO.length; z++) { for (let j = 0; j < this.report_day_data.series.length; j++) { if (this.report_day_data.series[j].name == state || (this.report_day_data.series[j].name === "OEE" && state === "PROD")) { this.report_day_data.series[j].data.push(info[z].BASE_DATA); } } }
时间: 2024-03-29 12:37:29 浏览: 21
这段代码的作用是遍历一个名为 `list` 的数组,将数组中的 `DATE_TYPE` 和 `INFO` 的值添加到另一个名为 `report_day_data` 的数组中的 `series` 对象中的 `name` 属性匹配的项中的 `data` 数组中。
具体来说,代码中的第一行和第二行是用于调试目的的,分别打印出 `list` 数组和 `list` 数组的长度。然后,代码中使用 `for` 循环遍历 `list` 数组中的每一个元素,并将其中的 `DATE_TYPE` 和 `INFO` 属性值保存在 `state` 和 `info` 变量中。接下来,代码使用 `for` 循环遍历 `INFO` 属性值中的每一个元素,并与 `report_day_data` 数组中的 `series` 对象中的 `name` 属性匹配的项中的 `data` 数组进行比较。如果找到匹配的项,那么将 `info[z].BASE_DATA` 的值添加到该项的 `data` 数组中。
总的来说,这段代码的目的是将 `list` 数组中的数据转化为 `report_day_data` 数组中的数据,以便在图表中展示出来。
相关问题
for (let k = 0; k < FriendsTop.length; k++) { console.log(data.data[k]) FriendsTop.searchList[k].id = data.data[k].id FriendsTop.searchList[k].name = data.data[k].wname FriendsTop.searchList[k].sex = data.data[k].sex FriendsTop.searchList[k].account = data.data[k].account FriendsTop.searchList[k].icon = data.data[k].accountIcon FriendsTop.searchList[k].phone = data.data[k].phone FriendsTop.searchList[k].email = data.data[k].email FriendsTop.searchList[k].department = data.data[k].department FriendsTop.searchList[k].profession = data.data[k].profession console.log(FriendsTop.searchList[k]) }为什么在循环第二次的时候会报数组中的对象属性未定义
这个问题可能是由于 `FriendsTop.searchList` 中的某些对象属性在第一次循环中没有被定义,导致在第二次循环中出现未定义的错误。你可以在循环之前先初始化 `FriendsTop.searchList` 里面的对象,例如:
```
for (let k = 0; k < FriendsTop.length; k++) {
FriendsTop.searchList[k] = {}; // 初始化对象
FriendsTop.searchList[k].id = data.data[k].id;
FriendsTop.searchList[k].name = data.data[k].wname;
FriendsTop.searchList[k].sex = data.data[k].sex;
FriendsTop.searchList[k].account = data.data[k].account;
FriendsTop.searchList[k].icon = data.data[k].accountIcon;
FriendsTop.searchList[k].phone = data.data[k].phone;
FriendsTop.searchList[k].email = data.data[k].email;
FriendsTop.searchList[k].department = data.data[k].department;
FriendsTop.searchList[k].profession = data.data[k].profession;
console.log(FriendsTop.searchList[k]);
}
```
这样做可以确保 `FriendsTop.searchList` 里面的对象在循环之前已经被初始化,避免了未定义属性的错误。
请修复该段代码中的bug drawingBar() { console.log('drawingBar---') let maxNumber = 1; console.log('this.echartsData---', this.echartsData) for(let i=0; i<this.echartsData.length; i++ ){ if (!this.echartsData[i].rateList) return; const obj = JSON.parse(JSON.stringify(this.echartsData[i])); const list = obj.rateList.sort((num1, num2) => { return num2.rate * 1 - num1.rate * 1; }); if (list.length && list[0].rate * 1 > maxNumber) { maxNumber = list[0].rate; } if (!list.length) return; console.log('list---', list) console.log('111') this.$nextTick(() => { let chartDom = this.$refs["e-wrapperBar"][i]; let myChart = this.$echarts.init(chartDom); barChart.series[0].data = []; this.echartsData[i].rateList.forEach((node) => { barChart.series[0].data.push(+node.rate); }); barChart.yAxis.max = Math.ceil(maxNumber * 1); if (i !== this.echartsData.length - 1) { barChart.xAxis[0].axisLabel.show = false; } else { barChart.xAxis[0].axisLabel.show = true; } myChart.setOption(barChart); }); } },
这段代码中有两个 bug。
第一个 bug 是在第 7 行,你使用了 `console.log(this.echartsData---, this.echartsData)`,但是这里会把 `this.echartsData` 当作三个参数输出,应该改为 `console.log('this.echartsData---', this.echartsData)`。
第二个 bug 是在第 12 行,你使用了 `for (let i = 0; i < this.echartsData.length; i )`,你的循环末尾多了两个空格,导致循环条件不完整,应该改为 `for (let i = 0; i < this.echartsData.length; i++)`。
修复后的代码应该是这样的:
```
drawingBar() {
console.log('drawingBar---')
let maxNumber = 1;
console.log('this.echartsData---', this.echartsData)
for (let i = 0; i < this.echartsData.length; i++) {
if (!this.echartsData[i].rateList) return;
const obj = JSON.parse(JSON.stringify(this.echartsData[i]));
const list = obj.rateList.sort((num1, num2) => {
return num2.rate * 1 - num1.rate * 1;
});
if (list.length > maxNumber) {
maxNumber = list.length;
}
}
console.log(maxNumber);
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)