javascript에서 배열의 최댓값 최솟값을 구하는 방법
1. Function.prototype.apply() 함수
Math.max() 함수와 Math.min() 함수에 apply()함수를 함께 사용하면 간단하게 배열의 최솟값, 최댓값을 얻을 수 있다.
Math.max(), Math.min() 만을 단독으로 사용하면 적용이 안 되는 경우도 있기 때문에 apply() 함수도 함께 사용한다.
1
2
3
|
var arrayMax = [1,2,3,4,5];
return Math.max.apply(null, arrayMax);
|
//return 5 |
1
2
3
|
var arrayMin = [1,2,3,4,5];
return Math.min.apply(null, arrayMin); //return 1
|
Function.prototype.apply() 메소드는 Javascript에서 함수를 호출하는 여러 가지 방법 중의 하나이다.
Math.max(), Math.min() 함수에 배열의 원소들을 풀어서 전달하기 위해 apply() 메소드를 활용한 것이다.
apply() 메소드는 파라미터로, 함수에서 사용할 this객체와 호출하는 함수로 전달할 파라미터를 입력받는다.
이때 apply() 메소드의 2번째 파라미터(호출하는 함수로 전달할 파라미터)는 배열 형태로 입력한다.
위 예제를 보면,
Math.max.apply(null, arrMax);
Math.max() 함수의 apply() 메소드를 호출하고 있다.
apply() 메소드의 첫 번째 파라미터로는 Math.max() 함수 내부에서 사용할 this객체를 전달해야 하는데,
여기서는 따로 this객체를 지정해 줄 필요가 없으므로 null을 전달하였다.
apply() 메소드의 두 번째 파라미터로는
Math.max() 함수로 전달할 파라미터를 배열 형태로 넣어주면 되는데,
Math.max() 함수에 전달할 파라미터 5개 (1, 2, 3, 4, 5)를 배열 형태로 만들어 전달(arr)하였다.
2. 사용자 함수를 만들어서 반환
두 번째는 직접 함수를 만들어서 반환하는 방법이다.
아래의 함수를 사용하면 가장 최댓값, 최솟값을 구할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
var array = [1, 2, 3, 4, 5, 6, 7];
function getMax() {
var max = array[0];
for(var i = 1; i < array.length; i++) {
if(max < array[i])
max = array[i];
}
return max;
}
function getMin() {
var min = array[0];
for(var i = 1; i < array.length; i++) {
if(min > array[i])
min = array[i];
}
return min;
}
|
cs |
'Web > Javascript' 카테고리의 다른 글
글자 길이에 다른 컬럼 크기 동적 변환 (0) | 2022.01.04 |
---|---|
[Javascript] 문자열의 마지막 문자 제거하는 방법(slice, substr) (0) | 2021.11.15 |
[Javascript] 형변환 / 실수를 정수로 형변환 (0) | 2021.11.15 |
[JavaScript] 최대 공약수, 최소 공배수 구하는 알고리즘 (1) | 2021.11.15 |
[Javascript] String을 Number타입으로 바꾸기 (0) | 2021.11.15 |
댓글