zoukankan      html  css  js  c++  java
  • javascript 编码规范

    题目描述

    修改 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;
    }
    

      

    * 求 a 和 b 相乘的值,a 和 b 可能是小数,需要注意结果的精度问题

    input: 3, 0.0001

    output: 0.0003

    function multiply(a, b) {
        var d1 = d2 = 0;
        while (a%1 !== 0) {
            a *= 10;
            d1++;
        }
        while (b%1 !== 0) {
            b *= 10;
            d2++;
        }
        var d = d1+d2;
        return parseFloat(a * b * Math.pow(0.1, d)).toFixed(d);
    }
    

      

  • 相关阅读:
    python 使用else代替状态变量
    python 实现线程安全的单例模式
    sql语句的执行顺序
    python 实现int函数
    python实现时间o(1)的最小栈
    python实现简单的负载均衡
    python实现求最长回文子串长度
    python lambda表达式
    sql针对某一字段去重,并且保留其他字段
    基本认识
  • 原文地址:https://www.cnblogs.com/mingzhanghui/p/9248262.html
Copyright © 2011-2022 走看看