function solution(num_list) {
num_list.forEach((x, idx) => {
if (x < 0) return idx
})
}
forEach
문을 사용해 배열 안 요소를 하나씩 순회하다가 0보다 작은 음수의 값을 발견하게 되면 해당 값의 인덱스를 반환하도록 의도함.forEach
함수를 사용할 때는 순회 도중에 리턴하는 게 불가하다고 한다. return후 forEach문을 빠져나오지 않고 마치 'continue'처럼 동작하는 것. 그렇기 때문에 위의 문제의 경우 forEach
문이 아니라 반복문을 사용해서 푸는 게 더 옳다.function solution(num_list) {
for (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
함수를 사용해서 0보다 작은 요소를 만나면 바로 해당 요소의 인덱스를 반환💡 특정 값의 인덱스를 반환해야한다는 것을 보고
indexOf
나lastOfIndex
만 생각했는데findIndex
도 열심히 생각해내서 써야겠다!