优化这段代码 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-08 20:34:41 浏览: 35
优化后的代码如下:
```javascript
let values = Array(this.monthValue.length).fill([]); // 初始化所选择的月份数据
res.forEach(item => {
const month = item[0].month;
const mIndex = this.monthValue.findIndex(m => m === month); // 拿到月份数据在数组中的序号
if (mIndex !== -1) {
values[mIndex] = item.map(m => [m.wrwMin, m.wrw25, m.wrwZhong, m.wrw75, m.wrwMax]); // 数据赋值到对应月份
}
});
```
优化说明:
1. 使用`Array.fill()`方法初始化`values`数组,避免使用`push()`方法。
2. 使用`Array.findIndex()`方法找到月份数据在数组中的序号,避免使用额外的循环。
3. 简化数据赋值过程,直接将数据赋值到对应月份的数组。
阅读全文