DEV Community

打coding的奥特曼
打coding的奥特曼

Posted on • Edited on

不使用JavaScript内置的parseInt()函数,利用map和reduce操作实现一个string2int()函数

const str2int = s=>[].slice.apply(s).map(x=>+x).reduce((x,y)=>x*10+y);
Enter fullscreen mode Exit fullscreen mode

1.利用[].slice.apply(s)将s 拆成字符串数组
2.利用+将string转换成number,用map遍历,map(x=>+x),
3.利用reduce把数组转化成一个数字
打印结果如下:
Alt Text
补充,使用Array.from 可以节省掉map

const str2int = s=>Array.from(s,x=>+x).reduce((x,y)=>x*10+y)
console.log(str2int('12345'));  //12345
console.log(typeof str2int('12345')); //number
Enter fullscreen mode Exit fullscreen mode

Top comments (0)