웹 프로그래밍/자바스크립트
자바스크립트(Javascript) 수학, 난수 계산 Math 객체 4부, Max, Min 함수
녹두장군1
2024. 12. 5. 22:52
반응형
수학 계산에 쓰이는 Math 내장 객체에는 Max 와 Min 이라는 함수가 있습니다. 이 함수들은 배열이나 인수로 넘긴 여러 데이터 중에서 최대값과 최소값을 추출하고 싶을 때 사용하면 됩니다. 그럼 예제를 통해서 사용법에 대해 알아 보겠습니다.

| ◎ Math.max() 최대값 가져오는 함수 |
▼ max 함수는 인수로 넘어간 값들 중에 최고값을 리턴하게 됩니다. 인수는 두 개 이상 입력이 가능하며 마이너스 값도 비교할 수 있습니다. 그런데 일일이 인수로 데이터를 입력해서 최대값을 가져오는 경우는 별로 없을 겁니다. 배열 데이터를 넘겨서 최대값을 가져오는 것도 가능할까요?
<!DOCTYPE HTML>
<html>
<head>
<meta charset="euc-kr">
<title>Javascript</title>
<style type="text/css">
body {background-color: #e7e7e7;}
div {margin : 10px;}
</style>
<script type="text/javascript">
<!--
var a = Math.max(10, 20) + "<br/>";
var b = Math.max(-10, -20) + "<br/>";
var c = Math.max(-10, 20) + "<br/>";
document.write("[max]" + "<br/>");
document.write(a + b + c);
//-->
</script>
</head>
<body>
</body>
</html>
▼ 배열에서 최고값을 가져오는 방법이 있습니다. 그냥 max 함수에 배열 객체를 넣으면 NaN 에러가 납니다. 이것을 제대로 계산하려면 Math.max 에서 리턴 받은 객체에서 apply() 함수를 이용해야 합니다. 그럼 배열에서 가장 큰 값을 리턴하게 됩니다.
var arr = [1, 2, 3];
var a = Math.max.apply(null, arr) + "<br/>";
var b = Math.max(arr) + "<br/>";
document.write(a + b);
| ◎ Math.min() 최소값 가져오는 함수 |
▼ 이번에는 최소값을 가져오는 Min 함수 입니다. Max 와 같이 인수로 넘어간 데이터 중 최소값을 리턴하게 됩니다. 그리고 마이너스 계산도 해 줍니다.
var a = Math.min(10, 20) + "<br/>";
var b = Math.min(-10, -20) + "<br/>";
var c = Math.min(-10, 20) + "<br/>";
document.write("[min]" + "<br/>");
document.write(a + b + c);
▼ Max() 함수와 마찬가지로 Min() 도 최소값을 리턴 받을 때 배열을 이용할 수 있습니다. Max.min.apply() 함수의 인수에 배열을 넣으면 최소값을 리턴 받게 됩니다.
var arr = [1, 2, 3];
var a = Math.min.apply(null, arr) + "<br/>";
var b = Math.min(arr) + "<br/>";
document.write(a + b);
반응형