indexOf() 메서드란?
자바스크립트에서 배열 내 특정 요소의 위치(인덱스)를 찾으려면 indexOf() 메서드를 사용하면 됩니다. 이 메서드는 찾고자 하는 요소가 배열에서 처음 등장하는 위치의 인덱스를 반환합니다.
아래 예제는 주어진 배열에서 'SolarCity'라는 요소의 인덱스를 찾아 화면에 출력하는 코드입니다.
예제
<html>
<body>
<p id="index"></p>
<script>
var companies = ["Spacex", "Tesla", "SolarCity", "Neuralika"];
var res = companies.indexOf("SolarCity");
document.getElementById("index").innerHTML = res;
</script>
</body>
</html>
출력 결과
2
배열의 인덱스는 0부터 시작하기 때문에, 'SolarCity'는 세 번째 요소이므로 인덱스 2가 반환됩니다.
검색 시작 위치를 지정하는 방법
indexOf() 메서드는 두 번째 인수로 검색을 시작할 인덱스를 지정할 수도 있습니다. 이 기능은 배열에 동일한 요소가 여러 번 존재할 때 유용합니다.
아래 예제는 'SolarCity'를 배열의 시작 부분부터 찾지 않고, 지정된 인덱스 4부터 검색합니다. 따라서 첫 번째 'SolarCity'의 인덱스인 2가 아닌, 두 번째로 등장하는 위치인 6이 반환됩니다.
예제
<html>
<body>
<p id="index"></p>
<script>
var companies = ["Spacex", "Tesla", "SolarCity", "Neuralika", "Spacex",
"Tesla", "SolarCity", "Neuralika"];
var res = companies.indexOf("SolarCity", 4);
document.getElementById("index").innerHTML = res;
</script>
</body>
</html>
출력 결과
6
참고 사항
만약 indexOf() 메서드로 찾고자 하는 요소가 배열에 존재하지 않으면 -1이 반환됩니다. 이 특성을 활용하면 배열에 특정 값이 포함되어 있는지 확인하는 용도로도 사용할 수 있습니다.