销售额按元返回,成本按万元返回,画在同一张柱状图上成本那根矮得看不见,实际两者只差 8%。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

const toYuan = v => (v < 1000 ? v * 10000 : v);
const cost = rows.map(r => toYuan(r.cost));

两个接口的金额单位不一致,一个用元一个用万元,前端把两个数直接拼进同一个 series。轴标签也没有写单位。这一点先确认清楚,后面就不用反复试。

「图表数值单位混用」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。

改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。

具体做法是,接入时统一换算成元 在数据层做一次归一;轴标签和提示框都带上单位;用同一份数据核对柱高和表格数字。

改完照着核一遍,成本柱高度和销售额接近,提示框里两个数字都带单位。

作者 9823189