개발자 되는 법.../코딩테스트...

[JS] 제일 작은 수 제거하기

개발_자 2024. 6. 25. 15:01

 

 

function solution(arr) {
    var answer = [];
    if(arr.length == 1) {
        return [-1];
    } else {
        arr.splice(arr.indexOf(Math.min(...arr)),1);
        answer = arr;
    }
    return answer;
}

 

Math.min(...arr) //배열 `arr`의 요소 중 가장 작은 값을 찾음

 

스프레드 연산자 `...` 를 사용하는 이유

 

`Math.min` 함수가 배열을 인수로 직접 받아들이지 않고,

개별 인수를 받아들이기 때문

 

스프레드 연산자의 역할

 

스프레드 연산자 `...`는 배열을 펼쳐서 개별 요소로 분리

`arr`가 `[4, 2, 3, 1]`이라면 `...arr`는 `4, 2, 3, 1`로 변환

 

arr.indexOf(Math.min(...arr)) // 작은 값의 인덱스를 찾음

 

 

 `indexOf()` 메서드는 배열에서 특정 요소를 찾기 위해 사용

 

arr.splice(인덱스, 1); // 찾은 인덱스의 요소를 배열에서 제거

 

array.splice(start, deleteCount, item1, item2, ...)

 

 

`splice` 메서드

배열의 요소를 추가하거나 제거할 때 사용되는 강력한 메서드

 

`start`: 배열에서 변경을 시작할 인덱스

`deleteCount`: 배열에서 제거할 요소의 수

`item1, item2, ...`: 배열에 추가할 요소들. 이 인수는 생략 가능