You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
- 在计算平均值时增加了对无效值(NaN)的过滤 - 确保只有有效的数值参与平均值计算,提高数据准确性 -目前的计算逻辑是: 通过 processedData.filter(item => !item.isBreakPoint) 过滤掉标记为“停电”期间插入的断点 (isBreakPoint: true)。 使用 validData.map(e => parseFloat(e[valueField])) 将需要计算的字段值转换为浮点数。 使用 reduce 计算总和并除以数量得到平均值。 问题可能出在第二步或第三步: parseFloat(e[valueField]) 的结果: 如果 e[valueField] 的原始值是 null, undefined, 空字符串 "" 或其他非数字格式,parseFloat 会返回 NaN (Not a Number)。 reduce((a, b) => a + b, 0) 的行为: 当数组中包含 NaN 时,reduce 的累加结果也会变成 NaN。 后续计算: NaN / validValues.length 的结果是 NaN。最后对 NaN 调用 .toFixed(2) 的结果在不同 JavaScript 环境下可能不一致,但通常是字符串 "NaN",而不是负数。 然而,既然显示了负数,可能存在更隐藏的问题,或者是在 reduce 过程中,某些非数字值(如 null)被隐式转换为了 0,但某些其他值导致了异常。最稳妥的方法是在计算平均值之前,显式地过滤掉所有非数字(NaN)的值。 我将修改 processDataBreaks 函数,在计算平均值之前增加一步,过滤掉 map 操作后可能产生的 NaN 值。 |
3 months ago | |
---|---|---|
bin | 11 months ago | |
build | 11 months ago | |
public | 11 months ago | |
src | 3 months ago | |
.editorconfig | 11 months ago | |
.env.development | 11 months ago | |
.env.production | 11 months ago | |
.env.staging | 11 months ago | |
.eslintignore | 11 months ago | |
.eslintrc.js | 11 months ago | |
.gitignore | 11 months ago | |
README.md | 11 months ago | |
babel.config.js | 11 months ago | |
jsconfig.json | 11 months ago | |
package.json | 6 months ago | |
vue.config.js | 11 months ago |
README.md
开发
# 克隆项目
git clone https://gitee.com/y_project/RuoYi-Vue
# 进入项目目录
cd ruoyi-ui
# 安装依赖
npm install
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com
# 启动服务
npm run dev
浏览器访问 http://localhost:80
发布
# 构建测试环境
npm run build:stage
# 构建生产环境
npm run build:prod