ABOUT ME

-

Today
-
Total
-
  • [코드스테이츠 TIL] Number, Math method
    Study/JavaScript 2019. 11. 4. 15:18
    반응형

     

    [ Number ]

    Number.isInteger(value)

    - arguments : 정수인지, 아닌지 여부를 검사할 값

    - return value : 정수를 판단한 결과 (Boolean)

    Number.isInteger(0); // true
    Number.isInteger(1); // true
    Number.isInteger(-100000); // true
    Number.isInteger("10"); // false
    Number.isInteger(0.1); // false
    Number.isInteger(Math.PI); // false

     

    parseInt(value) / parseFloat(value)

    - arguments: 형변환(type casting)하기 위해 파싱될 값

    - return value: 정수 / 소숫점 숫자

    parseInt("15"); // 15
    parseInt("15.123"); // 15
    parseInt("15*3"); // 15
    parseInt("-15"); // -15
    parseInt("Hello") // NaN
    parseFloat("3.14"); // 3.14

     

    num.toFixed([digits])

    - arguments: 소숫점 뒤에 나타낼 자릿수 (optional, 기본값은 0)

    - return value: 숫자를 나타내는 문자열

    var numObj = 12345.6789;
    
    numObj.toFixed(); // '12346': 반올림하며, 소수 부분을 남기지 않습니다.
    numObj.toFixed(1); // '12345.7': 반올림합니다.
    numObj.toFixed(6); // '12345.678900': 빈 공간을 0으로 채웁니다.

     

    [ Math ]

    Math.min([value1[, value2[, ...]]])

    Math.max([value1[, value2[, ...]]])

    - arguments: 숫자

    - return value: 주어진 숫자 중 가장 작은 값 / 큰 값

    console.log(Math.min(2, 3, 1)); // 1
    console.log(Math.min(-2, -3, -1)); // -3
    console.log(Math.max(1, 3, 2)); // 3
    console.log(Math.max('hello', 'world')); // NaN
    
    // 함수 apply() 활용
    
    function getMaxOfArray(numArray) {
      return Math.max.apply(null, numArray);
    }
    
    // 배열 reduce() 활용
    
    var arr = [1,2,3];
    var max = arr.reduce(function(a, b) {
        return Math.max(a, b);
    });
    
    // spread operator 활용
    
    var arr = [1, 2, 3];
    var max = Math.max(...arr);

     

    Math.floor(value)

    Math.round(value)

    - arguments: 숫자

    - return value: 주어진 숫자의 내림 값 / 반올림 값

    console.log(Math.floor( 45.95)); // 45
    console.log(Math.floor(-45.95)); // -46
    console.log(Math.round( 20.5 )); // 21
    console.log(Math.round(-20.5 )); // -20

     

    Math.random()

    - arguments: 없음

    - return value: 0과 1 사이의 난수를 반환

    console.log(Math.random()); // 0.19332486207208088
    // 특정 범위의 랜덤 정수 반환하기
    
    function getRandomInt() {
    return Math.floor(Math.random() * 10)
    }
    
    // 0부터 10까지의 랜덤 정수 반환
    //10 자리에 n 넣으면 0부터 n까지의 랜덤 정수 반환
    //일정한 길이의 임의의 글자 리턴하기
    
    function makeid() {
      var text = "";
      var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    
      for (var i = 0; i < 10; i++)
        text += possible.charAt(Math.floor(Math.random() * possible.length));
        //str.charAt : charAt() 함수는 문자열에서 특정 인덱스에 위치하는  유니코드 단일문자를 반환
    
      return text;
    }
    
    console.log(makeid()); //10자리의 임의의 글자 리턴

     

    Math.abs(x)

    - arguments: 숫자

    - return value : x의 절대값

    function difference(a, b) {
    return Math.abs(a - b);
    }
    
    console.log(difference(3, 5));
    // expected output: 2
    
    console.log(difference(5, 3));
    // expected output: 2
    
    Math.abs('-1');     // 1
    Math.abs(-2);       // 2
    Math.abs(null);     // 0
    Math.abs('');       // 0

     

    Math.sqrt(x)

    - arguments: 숫자

    - return value : x의 제곱근, x가 음수일 경우엔 NaN 리턴

    Math.sqrt(9); // 3
    Math.sqrt(2); // 1.414213562373095
    
    Math.sqrt(1);  // 1
    Math.sqrt(0);  // 0
    Math.sqrt(-1); // NaN
    Math.sqrt(-0); // -0

     

    Math.pow(base, exponent)

    - arguments: base 밑, exponent 지수

    - return value : base의 제곱 값

    // 간단한 예시
    Math.pow(7, 2);    // 49
    Math.pow(2, 10);   // 1024
    
    // 지수가 소수나 분수
    Math.pow(4, 0.5);  // 2 (제곱근 4)
    Math.pow(8, 1/3);  // 2 (세제곱근 8)
    반응형

    댓글