2014-01-31 3 views
1

나는이 코드 :자바 스크립트 변수가 숫자이고 0보다 큰지 확인하는 가장 쉬운 방법은 무엇입니까?

 isNumberNotZero: function (num) { 

      // Return false if num is null, an empty string or zero 
      if (num === null || typeof num === "undefined" || (typeof num === "string" && num.length === 0) || num == 0) { 
       return false; 
      } 
      return true; 
     }, 

을하지만,이 작업을 수행하는 쉬운 방법이있다. 내가 가지고있는 코드는 매우 깨끗해 보이지 않습니다.

답변

4

숫자가 0보다 큰 경우에만 신경 써야하는 상황에 대해 많은 점검을하고 있습니다.

그냥 :

return typeof a === "number" && a > 0 
+1

희박하고 평균 .. +1 – techfoobar

0

을 :

function isNumber(n) { 
    return !isNaN(parseFloat(n)) && isFinite(n); 
} 

그런 다음 테스트가 > 0으로 해당 기능을 결합하는 것만 큼 간단합니다 unary plus operator을 다음과 같이 사용할 수 있습니다. 코드를 줄이려면 정수로 변환하십시오.

이것은 읽기 쉽지 않으며 정수로만 작동합니다 (예 : 숫자가 0.5이면이 값이 0으로 처리됩니다). 그러나 빠르고 간결합니다.

function isNumberNotZero(num) { 
    return +num !== 0; 
} 
관련 문제