
arr.indexOf(value) 메서드는 배열 내에서 첫 번째로 발견한 value의 인덱스를 반환합니다. 만약 value가 배열 내에 존재하지 않으면 -1을 반환합니다.
중복된 값이 있는 경우, indexOf 메서드는 첫 번째로 발견한 인덱스를 반환합니다. 예를 들어, let arr = [1, 2, 2, 3, 4]; 에서 indexOf(2)가 호출되면, 첫 번째 2의 인덱스인 1이 반환됩니다.
이러한 결과는 indexOf 메서드의 기본 동작으로 인해 발생합니다. 만약 중복된 값을 제거하고 싶다면, indexOf 메서드 대신 includes 메서드를 사용하거나 filter 메서드를 사용하여 중복된 값을 제거한 후 indexOf 메서드를 사용하는 방법이 있습니다.
예를 들어, let arr = [1, 2, 2, 3, 4]; 에서 indexOf(2)가 호출되면, includes 메서드를 사용하여 중복된 값을 제거한 후 indexOf 메서드를 사용하여 두 번째 2의 인덱스를 반환할 수 있습니다.
includes 메서드는 배열 내에서 value가 존재하는지 여부를 boolean 값으로 반환합니다.
let arr = [1, 2, 2, 3, 4];
let index = arr.indexOf(2);
if (index === -1) {
index = arr.indexOf(2, index + 1);
}
이러한 방법을 사용하여 중복된 값을 제거하고 첫 번째로 발견한 인덱스를 반환할 수 있습니다.
2025-06-03 19:28