优化这段代码 let values = []; // 初始化所选择的月份数据 for(let i=0; i<this.monthValue.length; i++){ values.push([]) } res.forEach((item, index) => { // 确保数据对应月份 this.monthValue.some((month) => { if (res[index][0].month == month) { let mIndex = null; // 拿到月份数据在数组中的序号 this.monthValue.forEach((item1, index1) => { if(item1 == month){ mIndex = index1 } }); // 数据赋值到对应月份 values[mIndex] = item.map((m) => { return [m.wrwMin, m.wrw25, m.wrwZhong, m.wrw75, m.wrwMax]; }) } }); });
时间: 2024-04-12 17:30:11 浏览: 86
js代码-数组拍平/扁平化
这段代码可以进行一些优化。首先,可以使用数组的 `map` 方法来替代 `forEach` 循环,以简化代码。另外,可以考虑使用对象或 Map 数据结构来存储月份数据,而不是使用多维数组。
下面是优化后的代码:
```javascript
let values = this.monthValue.map(() => []);
res.forEach((item) => {
const month = item[0].month;
const mIndex = this.monthValue.indexOf(month);
if (mIndex !== -1) {
values[mIndex] = item.map((m) => {
return [m.wrwMin, m.wrw25, m.wrwZhong, m.wrw75, m.wrwMax];
});
}
});
```
这样,我们使用了 `map` 方法来初始化 `values` 数组,并且使用 `indexOf` 方法来查找月份在 `this.monthValue` 中的索引。然后,根据索引将数据赋值给对应的月份。
希望这能帮到你!如果你还有其他问题,请随时问我。
阅读全文