문제

문제 링크
image

나의 풀이

아이디어

includes 메서드를 사용하면 부분 문자열인지 여부를 boolean 값으로 반환한다.
결과를 숫자로 형변환하면 조건문 없이 정답을 반환할 수 있다.

코드

function solution(num_list) {
    for(let i = 0; i < num_list.length; ++i) {
        if(num_list[i] < 0) {
            return i;
        }
    }
    return -1;
}

다른 사람 풀이

const solution = num_list => num_list.findIndex(v => v < 0)

findIndex 메서드를 활용한 풀이.

알게 된 것

Array.prototype.findIndex()

findIndex() 메서드는 주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환합니다. 만족하는 요소가 없으면 -1을 반환합니다.
find 메서드처럼 주어진 조건을 만족하는 첫 번째 요소를 반환하나, find는 값 자체를 반환하는 반면 findIndex는 값의 인덱스를 반환해준다.


레퍼런스