Leetcode8字符串转换整数 (atoi)
看题可得;
- 传进来的参数是字符串,需要返回数字
- 我们返回的数字要在范围之内,并且要注意正负
- 如果第一个除符号之外的字符,无法转换为数字,直接返回0
解:
- 在JS中有一个投机取巧的小方法:parseInt()
- 这个函数能直接解决本题大部分需求参考
- 如果无法解析出数字会返回NaN,如果可以解析出数字会直接返回数字我们只需要判断范围就好
- 我们定义变量number后直接判断,如果isNaN成立说明没有解析出数字,直接返回0
- 如果没返回0,开始判断范围,题目中要求如果超出范围直接返回范围的值就可以,我们使用**符号来求次幂(Math.pow函数也可以达到同样的效果)
- 如果不在指定范围内我们返回范围,如果在指定范围内我们只需要返回number本身就可以
!!:也可以用s.split('')将字符串转为数组后遍历使用变量叠加的方法,需要正则表达式来逐个校验,有兴趣想小伙伴可以试一下