map 和 reduce 的一个小问题

2019-07-21  本文已影响0人  年丶轮
不要使用JavaScript内置的parseInt()函数,利用map和reduce操作实现一个string2int()函数:
'use strict';
function string2int(s) {
   var arrStr=s.split('');
   var arrInt=arrStr.map(function (x){
          return +x;
   });
   return arrInt.reduce(function (x,y){
          return x*10+y;
   });
}
// 测试:
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('测试失败!');
}
上一篇下一篇

猜你喜欢

热点阅读