把一个字符串13579先变成Array——[1, 3, 5, 7, 9],再利用reduce()就可以写出一个把字符串转换为Number的函数。

<script>

//需求:把一个字符串13579先变成Array——[1, 3, 5, 7, 9],
//再利用reduce()就可以写出一个把字符串转换为Number的函数。

'use strict';
function string2int(s) {
		var Array = s.split(",");//利用正则表达式将字符串分割转变为字符数组
		var ChangeArray = [Array.length];//创建一个与上述字符数组等元素的数组用于存放int类型
		for(var i = 0; i < Array.length; i++){//将字符数组中的元素转变为int类型的数字存入到数组中
		    ChangeArray[i] = Array[i] -'0';
		}
		var sum = ChangeArray.reduce(function (x, y) {//利用reduce以及公式:x=x * 10 + y从而将字符串转变为了对应的整型值
		    return x * 10 + y;
		});
		return sum;
}
// 测试:
if (string2int('0') === 0 && string2int('12345') === 12345 && string2int('12300') === 12300) {
    if (string2int.toString().indexOf('parseInt') !== -1) {
        console.log('请勿使用parseInt()!');
    } else if (string2int.toString().indexOf('Number') !== -1) {
        console.log('请勿使用Number()!');
    } else {
        console.log('测试通过!');
    }
}
else {
    console.log('测试失败!');
}
</script>

输出结果:

测试通过!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值