javascript - 随机“未定义”被插入到字符串中
问题描述
我有一个函数,它接受一个整数并反向返回它reverse(-425) -> -524
let reverse = (x) => {
let y = x.toString()
let char = y.length - 1
let z = ''
if (y[0] === '-') {
z = '-'
y = y.slice(1, y.length)
}
while (char >= 0) {
z += y[char]
char -= 1
}
return z
}
console.log(reverse(-324))
当我跑步时,console.log(reverse(-324))
我希望它会返回-423
,但我得到了-undefined423
.
undefined
来自哪里?
解决方案
在检查数字是否为负之前,char
您计算出(取决于字符串的长度)的第一个值。
-
如果数字为负数,则在从前面删除字符串时将字符串的长度减少 1 。
在这一点char
上太高了。
改变你做这些事情的顺序:
let reverse = (x) => {
let y = x.toString()
let z = ''
if (y[0] === '-') {
z = '-'
y = y.slice(1, y.length)
}
let char = y.length - 1
while (char >= 0) {
z += y[char]
char -= 1
}
return z
}
console.log(reverse(-324))
console.log(reverse(2468))
推荐阅读
- events - Windows 应用程序事件日志和 XFF
- python - 为什么在 Windows 上安装 MXNET 的 pip 命令无法正常工作/安装不正确?
- node.js - 我正在尝试测试 node.js
- sql - CTE 多连接
- c++ - 更新具有空值的 uniqueidentifier 列时出现 ODBC 错误“字符串数据,右截断”
- typo3 - 如何从typo3循环ObjectStorage项目
- swift - 为什么我的 macOS 应用程序绕过沙盒文件访问?
- r - 从 5 开始(续)
- python - 如何计算多级索引分组的百分比?
- qt - QGridLayout 插入 qwidget