chartData.value.series[0].data=[] chartData.value.categories=[] const {data} = await uni.$u.api.house.statistics(); data?.forEach(v => { chartData.value.categories.push(v.time) chartData.value.series[0].data.push(v.count) }) 优化此段代码
时间: 2024-03-01 08:50:35 浏览: 65
echarts.js 动态生成多个图表 使用vue封装组件操作
这段代码可以进行如下优化:
```javascript
const { data } = await uni.$u.api.house.statistics();
const categories = [], seriesData = [];
data?.forEach(v => {
categories.push(v.time);
seriesData.push(v.count);
});
chartData.value = {
categories,
series: [{
data: seriesData
}]
};
```
优化点如下:
1. 将空数组的赋值操作移动到最后,避免重复赋值。
2. 将 `chartData.value` 对象的重新赋值操作替换为直接修改其属性值,避免不必要的创建对象和销毁对象。
3. 将数组的 push 操作替换为直接创建新的数组,避免不必要的数组扩容操作。
4. 将数组的 `categories` 和 `seriesData` 分别存储到变量中,避免重复访问 `chartData.value.categories` 和 `chartData.value.series[0].data`。
这样做的好处是,代码更加简洁,执行效率更高,可读性更好,减少了不必要的内存分配和释放操作。
阅读全文