개발
알고리즘 - Javascript 최소값 구하기 방법 3가지
동네주민1
2021. 10. 21. 13:35
1. for문 사용 방법
function solution(arr) {
let answer, min = Number.MAX_SAFE_INTEGER;
for (let i = 0; i < arr.length; i++) {
if (arr[i] < min) min = arr[i];
}
answer = min;
return answer
}
let arr = [5, 7, 1, 3, 2, 9, 10];
console.log(solution(arr))
1-1) min = Number.MAX_SAFE_INTEGER 로 하면 min에 안정적인 가장 큰 값이 설정됩니다.
1-2) min=arr[0] 으로 하고 for문에서 let i= 1; 로 설정하는 방법도 있습니다.
2. Array.prototype.reduce와 Math.min 사용하는 방법
function solution(arr) {
return arr.reduce(
(acc, cur, idx, src) => Math.min(acc, cur),
Number.MAX_SAFE_INTEGER
);
}
let arr = [5, 7, 1, 3, 2, 9, 10];
console.log(solution(arr));
Array.reduce는 배열의 각 요소에 대해 주어진 리듀서 함수를 실행하고 하나의 결과값을 반환함.
구문
arr.reduce(callback[, initialValue])
acc : 누산기, 콜백 반환값 누적
cur:처리할 현재요소
idx:처리할 현재 요소의 인덱스(initialValue를 제공하면 0부터, 아니면1부터 시작)
src:원본배열
3. Math.min과 전개연산자 사용하기
function solution(arr){
let answer=Math.min(...arr);
return answer;
}
let arr = [5,7,1,3,2,9,11];
console.log(solution(arr));
...arr 전개 연산자를 사용하여 배열을 넣어주면 됩니다. 이 때 전개연산자 대신 apply를 사용할 수도 있습니다.
function sum(x, y, z) {
return x + y + z;
}
const numbers = [1, 2, 3];
console.log(sum(...numbers));
// expected output: 6
console.log(sum.apply(null, numbers));
// expected output: 6