用 JavaScript 写一个函数,输入 int 型,返回整数逆序后的字符串。如:输入整型 1234,返回字符串“4321”。要求必须使用递归函数调用,不能用全局变量,输入函数必须只有一个参数传入,必须返回字符串。
输入为一个参数 int 型,输出为字符串。
(一)非递归函数:我们将 int 型转化为 string ,再把每个字符分开,接着做反转,最后将每个字符链接起来。
const numToReverseStr_0 = num => {
return num.toString().split('').reverse().join('');
}
console.log(numToReverseStr_0(2169362));
(二)递归函数:
2.1 数值型取值
1.输入参数类型判断
2.判断输入是否为个位数
3.如果输入为大于个位数的,则将求余的末位数,置于字符串的前面,同时再回调 numToReverseStr 函数。
const numToReverseStr = num => {
if( 'number' !== typeof num ) throw '输入需为int型整数';
if(!Math.floor(num / 10)) return num.toString();
return (num % 10).toString() + numToReverseStr( Math.floor(num / 10) );
}
console.log(numToReverseStr(2169362));
2.2 字符串型取值
function test(num) {
let str = num.toString();
if(str.length > 1) {
let newStr = str.substring(str.length - 1);
let oldStr = str.substring(0, str.length - 1);
return newStr + test(oldStr)
} else {
return num
}
}
var s = test(1234);
console.log(s);