1. Function.prototype.apply(this객체, 함수에 전달할 배열)
문자열에서 최대값, 최소값을 구할 때는 Math.max(), Math.min()을 사용했다.
배열에서 가장 큰 수를 구할 때는 Function.prototype.apply() 의 형태를 이용해서 Math.max.apply() 로 최대값을 구할 수 있다.
첫 번째 파라미터에는 this객체, 두 번째 파라미터에는 함수에 전달할 배열 사용.
this를 지정하지 않으려면 null을 쓰고, 이는 window를 가리키게 된다.
let array = [2, 6, 9, 3, 4];
let num = Math.max.apply(null, array);
console.log(num); //9
2. 스프레드 연산자(...) 사용
스프레드 연산자는 ES6에서 나온 문법이며, 배열, 문자열 등의 객체 안의 요소를 하나하나 분리해주는 연산자라고 한다.
스프레드 연산자를 사용하면 배열이 하나의 묶음에서 각각의 요소로 분리가 되므로 Math.max에도 활용 가능하다.
let array = [2, 6, 9, 3, 4];
let num = Math.max(...array);
console.log(num); //9
아래 글이 스프레드 연산자에 대해 잘 설명되어있어 첨부한다.
https://paperblock.tistory.com/62
참고로 Function.prototype.apply와 스프레드 연산자는 아주 큰 배열이 들어왔을 때 오류가 나니 주의해야 한다고 한다.
참고자료:
https://rutgo-letsgo.tistory.com/96
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/max
'SW공부 > JavaScript' 카테고리의 다른 글
[JavaScript] 배열의 마지막 인덱스 구하기 (0) | 2023.02.27 |
---|---|
[JavaScript] split()을 쓰지 않고 push()로 문자열 배열로 변환 (0) | 2023.02.27 |
[JavaScript] 배열 하나의 문자열로 합치기 (join()) (0) | 2023.02.18 |
[JavaScript] 배열 정렬하기 (.sort()) (0) | 2023.02.18 |
[JavaScript] 문자열을 배열로 변환하는 방법 (.split()) (0) | 2023.02.18 |