JavaScript如何实现移除数字所有0的removeZeros函数
JavaScript实现removeZeros函数
功能要求
编写名为removeZeros的函数,规则如下:
- 入参为整数类型
n - 返回值是将n所有数位上的0全部移除后得到的新数字
- 特殊规则:当输入值为0时,固定返回0
校验用例
函数需要满足以下用例的运行结果:
removeZeros(100) === 1 removeZeros(-2410) === -241 removeZeros(102) === 12 removeZeros(0) === 0
实现代码
function removeZeros(n) { if (n === 0) return 0 const isNegative = n < 0 const processedNumStr = Math.abs(n).toString().replaceAll('0', '') return Number(`${isNegative ? '-' : ''}${processedNumStr}`) }
逻辑说明
- 优先处理边界场景:入参为0时直接返回0,避免后续处理把0转为空值导致报错
- 提前记录数字的正负符号,避免后续字符串处理时丢失符号信息
- 取数字绝对值转成字符串,批量替换删除所有为'0'的字符
- 将提前记录的符号和处理后的数字字符串拼接,转回Number类型即为最终结果
内容的提问来源于stack exchange,提问作者Andrii Shymkiv
相关产品推荐
相关产品推荐

