[javascript] 배열 순회 시 특정 요소의 인덱스 찾기

가장 간단한 방법은 indexOf 메소드를 사용하는 것입니다. 이 메소드는 배열에서 특정 요소의 첫 번째 인덱스를 반환합니다. 만약 해당 요소가 배열에 존재하지 않을 경우 -1을 반환합니다.

const arr = [1, 2, 3, 4, 5];
const target = 3;
const index = arr.indexOf(target);

console.log(index); // 2

위의 예제에서는 arr 배열에서 target 값인 3의 첫 번째 인덱스를 찾는데 indexOf 메소드를 사용하였습니다. 따라서 index 변수에는 2가 할당되어 있습니다.

만약 배열에 중복된 요소가 존재하는 경우에는 indexOf 메소드는 첫 번째로 일치하는 인덱스만 반환하기 때문에 원하는 결과를 얻을 수 없을 수 있습니다.

이럴 때에는 findIndex 메소드를 사용하여 좀 더 유연하게 특정 요소의 인덱스를 찾을 수 있습니다. findIndex 메소드는 배열의 각 요소에 대해 주어진 콜백 함수를 호출하고, 해당 함수가 true를 반환하는 첫 번째 요소의 인덱스를 반환합니다.

const arr = [1, 2, 3, 4, 5];
const target = 3;
const index = arr.findIndex(element => element === target);

console.log(index); // 2

위의 예제에서는 findIndex 메소드를 사용하여 arr 배열에서 target 값인 3의 첫 번째 인덱스를 찾는데 콜백 함수를 사용하였습니다. 콜백 함수는 각 요소를 매개변수로 받고, 해당 요소가 target 값과 일치하면 true를 반환합니다. 따라서 index 변수에는 2가 할당되어 있습니다.

이러한 방법을 사용하여 자바스크립트에서 배열을 순회하면서 특정 요소의 인덱스를 찾을 수 있습니다.

참고 자료: