Number.sign() in javascript

前端 未结 15 2277
日久生厌
日久生厌 2020-11-30 21:03

Wonder if there are any nontrivial ways of finding number\'s sign (signum function)?
May be shorter / faster / more elegant solutions than the obvious one



        
15条回答
  •  自闭症患者
    2020-11-30 21:41

    I don't see any practical sence of returning -0 and 0 from Math.sign so my version is:

    function sign(x) {
        x = Number(x);
        if (isNaN(x)) {
            return NaN;
        }
        if (x === -Infinity || 1 / x < 0) {
            return -1;
        }
        return 1;
    };
    
    sign(100);   //  1
    sign(-100);  // -1
    sign(0);     //  1
    sign(-0);    // -1
    

提交回复
热议问题