js 模拟haskell 字符串转数字

haskell

-- 只载入 Data.Char 中的 digitToInt 函数
import Data.Char (digitToInt)

asInt xs = loop 0 xs

loop :: Int -> String -> Int
loop acc [] = acc
loop acc (x:xs) = let acc' = acc * 10 + digitToInt x
                  in loop acc' xs

js

function asInt(str, num=0) {
    try{
        if(str !== '' && isNaN(parseInt(str[0]))){
            throw "Parameter is not a number!"
        }
        return str[0] ? asInt(str.slice(1), num * 10 + parseInt(str[0])) : num
    }catch(e){
        console.error(e)
    }   
}
console.log(asInt('3332'))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • haskell js
    sorry510阅读 207评论 0 0
  • 今天写代码的时候遇到一个问题,获取了一个span元素的值,但是+1的时候却出现了25+1=251的情况。原来是获取...
    少年vv阅读 1,040评论 0 0
  • 作为一个在Sun微系统公司Java SE团队工作了十多年的人,难道不应该是体内流淌着Java字节码的血、只要一息尚...
    Java架构学习者阅读 2,579评论 4 17
  • 小美女,今天你是一个小战士,看你那拿枪的姿势的多帅多标准啊,今天拍照的时候你是那么的自信,希望你可以一直保持下去。...
    宁_3db4阅读 428评论 1 0
  • 练到第三幅,是写意技法,临摹过程中我发现自己控笔的能力还差很远。 枯瘦浓淡,抑扬顿挫 此八字,实是国画之要诀...
    绿杨荫阅读 635评论 4 9