채린씨의 티스토리
[JavaScript] 38. Math 본문
* Math
- 표준 Built-in 객체로써 수학적인 연산을 위한 속성 값과 메서드 제공
- Math는 생성자 함수가 아니며, 모든 속성과 메서드는 정적이므로 Math.function()으로 언제든지 호출 가능
* 최대/최소/절댓값
- 최댓값: Math.max(x)
- 최솟값: Math.min(x)
- 배열을 인수로 받아 최대/최소를 산출하려면 apply 함수 혹은 스프레드 문법 사용 필요
- 절댓값: Math.abs(x)
/* max, min을 이용해서 최댓값, 최솟값 구하기 */
console.log(Math.max(1, -1)); // output: 1
console.log(Math.min(1, -1)); // output: -1
console.log(Math.max(1, -1, 5, 23, 17, -4)); // output: 23
console.log(Math.min(1, -1, 5, 23, 17, -4)); // output: -4
/* 배열을 인수로 받아 최대/최소를 산출하려면 apply 함수 혹은 스프레드 문법 사용 필요 */
let nums = [1, -1, 5, 23, 17, -4];
// apply 함수 사용
console.log(Math.max.apply(null, nums)); // output: 23
console.log(Math.min.apply(null, nums)); // output: -4
// 스프레드 문법 사용
console.log(Math.max(...nums));
/* abs를 이용해서 절댓값 구하기 */
console.log(Math.abs(1)); // output: 1
console.log(Math.abs(-1)); // output: 1
console.log(Math.abs(-Infinity)); // output: Infinity
- apply가.. 몬데요..: https://www.w3schools.com/js/js_function_call.asp
* 속성 및 랜덤
- 자연로그의 밑(e): Math.E
더보기
- 자연로그의 밑이 뭔데요...!! : https://ko.wikipedia.org/wiki/%EC%9E%90%EC%97%B0%EB%A1%9C%EA%B7%B8%EC%9D%98_%EB%B0%91
- 원주율(π): Math.PI
- 0과 1 사이의 난수 랜덤 값: Math.random()
/* Math 속성(property) */
console.log(Math.E); // output: 2.718281828459045
console.log(Math.PI); // output: 3.141592653589793
/* random을 이용해서 '0과 1 사이'의 랜덤값 구하기 */
console.log(Math.random());
/* random을 이용해서 '0과 10 사이'의 랜덤값 구하기 */
console.log(Math.random() * 10);
/* random을 이용해서 '0과 10 사이의 정수' 랜덤값 구하기 */
console.log(Number.parseInt(Math.random() * 10));
/* random을 이용해서 '0과 100 사이의 정수' 랜덤값 구하기 */
console.log(Number.parseInt(Math.random() * 100));
* 제곱/제곱근/소수점 처리
- x의 y제곱: Math.pow(x, y), x**y
- x의 제곱근: Math.sqrt(x)
- 반올림해서 정수로: Math.round(x)
- 올림해서 정수로: Math.ceil(x)
- 내림해서 정수로: Math.floor(x)
/* pow와 ** 이용해서 제곱 구하기 */
console.log(Math.pow(2, 3)); // output: 8
console.log(2 ** 3); // output: 8
/* sqrt 이용해서 제곱근 구하기 */
console.log(Math.sqrt(64)); // output: 8
console.log(Math.sqrt(2)); // output: 1.4142135623730951
/* round 이용해서 소수점 이하 첫째자리에서 반올림해서 정수 만들기 */
console.log(Math.round(2.3)); // output: 2
console.log(Math.round(2.6)); // output: 3
console.log(Math.round(-2.3)); // output: -2
console.log(Math.round(-2.6)); // output: -3
/* ceil 이용해서 소수점 이하 첫째자리에서 올림해서 정수 만들기 */
console.log(Math.ceil(2.3)); // output: 3
console.log(Math.ceil(2.6)); // output: 3
console.log(Math.ceil(-2.3)); // output: -2!!! (더 큰 수를 만드는 것! 헷갈릴 수 있으니 조심!)
console.log(Math.ceil(-2.6)); // output: -2!!! (더 큰 수를 만드는 것! 헷갈릴 수 있으니 조심!)
/* floor 이용해서 소수점 이하 첫째자리에서 내림해서 정수 만들기 */
console.log(Math.floor(2.3)); // output: 2
console.log(Math.floor(2.6)); // output: 3
console.log(Math.floor(-2.3)); // output: -3!!! (더 작은 수를 만드는 것! 헷갈릴 수 있으니 조심!)
console.log(Math.floor(-2.6)); // output: -3!!! (더 작은 수를 만드는 것! 헷갈릴 수 있으니 조심!)
'자료구조, 알고리즘 > JavaScript 기초 문법' 카테고리의 다른 글
[JavaScript] 40. N차원 Array (0) | 2022.03.15 |
---|---|
[JavaScript] 39. Date (0) | 2022.03.15 |
[JavaScript] 37. Set (0) | 2022.03.14 |
[JavaScript] 36. Map (0) | 2022.03.14 |
[JavaScript] 35. Collection (0) | 2022.03.13 |
Comments