JavaScript实现类splice的数字处理方法 将数值转为k单位
JavaScript 数值转 k 单位通用实现
核心方法封装
我们可以封装一个通用的数字格式化方法,和Array.splice一样支持复用,同一套逻辑即可处理所有符合要求的数值转换:
function formatNumberWithK(num) { // 校验输入是否为合法数字 if (typeof num !== 'number' || isNaN(num)) return num; // 大于等于1000时转换为k单位,保留0位小数,可按需调整toFixed参数修改精度 return num >= 1000 ? `${(num / 1000).toFixed(0)}k` : num.toString(); }
基础使用示例
- 输入
formatNumberWithK(1000)输出 1k - 输入
formatNumberWithK(10000)输出 10k - 输入
formatNumberWithK(100000)输出 100k - 输入
formatNumberWithK(1567)输出 2k,若将toFixed(0)改为toFixed(1)可输出1.6k
类splice批量原位处理实现
如果需要批量修改数组内的数值,实现类似splice直接修改原数组的效果,可以扩展逻辑:
function batchFormatNumbers(arr) { for (let i = 0; i < arr.length; i++) { if (typeof arr[i] === 'number' && arr[i] >= 1000) { // 原位替换逻辑,和splice行为一致 arr.splice(i, 1, `${(arr[i]/1000).toFixed(0)}k`); } } return arr; }
批量使用示例:
输入batchFormatNumbers([1000, 500, 10000, 999, 100000])
输出 ["1k", 500, "10k", 999, "100k"]
可根据业务需求调整转换阈值、精度,也可以扩展逻辑支持M、G等更大的单位。
内容的提问来源于stack exchange,提问作者Prograbit
相关产品推荐
相关产品推荐

