最终代码
var reverse = function (x) {
// 将数字取绝对值后转字符串然后拆分
const str = String(Math.abs(x)).split("");
// 当数组最后一位为0时删除最后一位
while (str[str.length - 1] == "0") {
str.pop();
}
// 得到最终的数组,反转后拼接转数字
let res = Number(str.reverse().join(""));
// 临界值判断
if (res <= -Math.pow(2, 31) || res >= Math.pow(2, 31) - 1) {
console.log("res", res);
res = 0;
}
// 当数字本身为负数时,返回的也为负数
if (x < 0) {
return -res;
}
return res;
};
几个知识点:
- 数字绝对值方法:Math.abs() (防抱死系统?)
- 数字次幂的表示:Math.pow() (第一个参数为基数,第二个参数为次幂)