码迷,mamicode.com
首页 > 编程语言 > 详细

javascript 编码规范 - 正确使用parseInt

时间:2018-06-30 19:50:44      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:scribe   ext   break   script   字符串   复制   turn   字符   控制   

题目描述

修改 js 代码中 parseInt 的调用方式,使之通过全部测试用例
示例1

输入

‘12‘

输出

12
示例2

输入

复制
‘12px‘

输出

复制
12
示例3

输入

‘0x12‘

输出

0

function parse2Int(num) {
    var type = typeof num;
    if (type === "number") {
        if (num % 1 === 0) {
            return num;
        } else {
            return num-num%1;
        }
    } else if (type === "string") {
        var s = "", n0 = "0".charCodeAt(0), n9 = "9".charCodeAt(0);
        for (var i = 0; i < num.length; i++) {
            var c = num.charCodeAt(i);
            if (n0 <= c && c <= n9) {
                s += num.charAt(i);
            } else {
                break;
            }
        }
        function s2i(s) {
            var n = 0, n0 = "0".charCodeAt(0);
            for (var i = 0; i < s.length; i++) {
                n = 10*n + (s.charCodeAt(i)-n0);
            }
            return n;
        }
        return s2i(s);
    }
    return NaN;
}

  

* 流程控制

实现 fizzBuzz 函数,参数 num 与返回值的关系如下:
1、如果 num 能同时被 3 和 5 整除,返回字符串 fizzbuzz
2、如果 num 能被 3 整除,返回字符串 fizz
3、如果 num 能被 5 整除,返回字符串 buzz
4、如果参数为空或者不是 Number 类型,返回 false
5、其余情况,返回参数 num

Input:15 Output: fizzbuzz

function fizzBuzz(num) {
    if (!num) {return !1;}
    if (typeof num === "number") {
        var a = num%3===0, b = num%5==0;
        return a&&b ? "fizzbuzz" : a ? "fizz" : b ? "buzz" : num;
    }
    return !1;
}

  

javascript 编码规范 - 正确使用parseInt

标签:scribe   ext   break   script   字符串   复制   turn   字符   控制   

原文地址:https://www.cnblogs.com/mingzhanghui/p/9248262.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!