写在开头:新人,17年入前端坑,刚刚两年多工作经验,今年准备跳,面了三十几家了目前,跳到怀疑人生。面试题真的越来越复杂,前端不仅仅只是切个页面调个数据了,底层原理得懂,实现机制得会,node要学,后端算法得懂一些。常常没问两句我就懵了。算了,老老实实学吧!JS基础本来就不扎实。一点点积累吧!三十岁了,也学不动了,边学,边准备回老家考公了。
1.阶乘
function factorialize(num) {
if (num < 0) {
return -1;
} else if (num === 0 || num === 1) {
return 1;
} else {
return (num * factorialize(num - 1));
}
}
factorialize(5);
参考链接https://www.jianshu.com/p/a967014dbe6e
…………………………………………………………………………………………………………………………………………………………
2.整数反转
需要用到的知识点:
String()和toString():都是将其他类型的变量转换为字符串类型。
区别:toString()无法转换null和undefined
let a;
let b=null;
a.toString();//Uncaught TypeError: Cannot read property 'toString' of undefined
b.toString(); //Uncaught TypeError: Cannot read property 'toString' of null
String(a); //"undefined"
String(b);//"null"
————————————————
substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
split() 方法用于把一个字符串分割成字符串数组。
arrayObject.reverse()方法用于颠倒数组中元素的顺序。
arrayObject.join(separator)方法用于把数组中的所有元素放入一个字符串,元素是通过指定的分隔符进行分隔的。
parseInt() 函数可解析一个字符串,并返回一个整数。
parseFloat() 函数可解析一个字符串,并返回一个浮点数。
——————————————————
整数反转(支持负数):
const fz = function (number) {
const str = String(number)
if (str > 14) return 0
if (str.charAt(0) == '-') {
return parseInt('-' + str.split('').reverse().join('')
}
return parseInt(str.split('').reverse.join('')
}
………………………………………………………………………………………………………………………………………………