JS算法1(每篇两道):实现阶乘(递归)&&整数反转

写在开头:新人,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('')
 }

………………………………………………………………………………………………………………………………………………

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值