indexOf(), lastIndexOf(), findIndex() 메서드를 이용하여
특정 값 index를 찾을 수 있습니다.
배열 특정 값 인덱스(index) 찾기 - indexOf()
이 포스팅에서는 indexOf() 메서드를 이용하여
배열에서 특정 값의 index를 찾는 방법을 알아보겠습니다.
1. indexOf()
arr.indexOf(searchElement[, fromIndex])
indexOf() 메서드는 배열 내에서 찾고자 하는 값과 정확하게 일치하는 첫 번째 요소의 index를 반환합니다.
찾으려는 값이 배열에 존재하지 않으면 -1을 반환합니다.
indexOf() 메서드는 ===연산자를 사용하여 비교하며,
타입과 값이 모두 동일한 값이어야 같은 값으로 처리합니다.
searchElement
배열에서 찾고자 하는 값
fromIndex
검색을 시작할 index
입력하지 않으면 0부터 검색을 시작합니다.
검색을 시작할 index가 음수일 경우 배열의 끝에서부터 검색을 시작합니다.
반환값
배열 내의 찾고자 하는 값이 일치하는 첫 번째 요소의 index를 반환합니다.
찾으려는 값이 배열에 존재하지 않으면 -1을 반환합니다.
const fruits = ['melon', 'apply', 'banana', 'lemon','apply'];
console.log(fruits.indexOf('apply', 1)); // 1
fruits.indexOf('apply', 1)
fruits배열 안에 'apply' 요소가 두 개 있습니다.
indexOf() 메서드를 사용해 'apply'을 인덱스 1번부터 순서대로 찾아
첫 번째 'apply' 요소의 인덱스 1을 반환합니다.
const fruits = ['apply', 'apply', 'apply', 'apply'];
console.log(fruits.indexOf('apply')); // 0
fruits.indexOf('apply')
배열 내에서 값이 'apply'인 첫 번째 index는 0입니다.
const arr = [2, 2, '2', '2', 2];
console.log(arr.indexOf('2')); // 2
console.log(arr.indexOf(2)); // 0
console.log(arr.indexOf('2', 2)); // 2
console.log(arr.indexOf(0)); // -1
arr.indexOf('2')
배열 내에서 값이 '2'인 첫 번째 index는 2입니다.
arr.indexOf(2)
배열 내에서 값이 2인 첫 번째 index는 0입니다.
- indexOf() 메서드는 === 연산자를 사용하여 비교하며,
타입과 값이 모두 동일한 값이어야 같은 값으로 처리합니다.
arr.indexOf('2', 2)
배열 내에서 index 2 이후에 나오는 값이 '2'인 첫 번째 index는 2입니다.
arr.indexOf(0)
배열에 찾고자 하는 값 0이 없으므로 -1을 반환합니다.
indexOf() 메서드를 사용하여 특정 값이 있는 모든 index 찾기
let array = [2, 2, '2', '2', 2];
let fromIndex = array.indexOf("2");
while (fromIndex != -1) {
console.log(fromIndex); // 2, 3
fromIndex = array.indexOf("2", fromIndex + 1);
}
indexOf() 메서드는 배열 안에서 특정값의 첫 번째 index만 반환합니다.
위 예제와 같이 특정값이 존재하는 모든 index를 찾으려면 반복문을 사용해야 합니다.
indexOf의 결과가 -1이 될 때까지
fromIndex값을 이전에 찾아낸 index값 이후로 설정해 주면서
특정값이 있는 모든 index를 찾아냅니다.
indexOf() 메서드를 이용하여
배열에서 특정 값의 index를 찾는 방법을 알아보았습니다.
다음 포스팅에서는
lastIndexOf() 메서드를 이용한 배열에서 특정 값의 index를 찾는 방법을 알아봅니다.
'JavaScript > 배열(Array)' 카테고리의 다른 글
[JavaScript] 배열 특정 값 인덱스(index) 찾기(3) - findIndex() (0) | 2023.09.13 |
---|---|
[JavaScript] 배열 특정 값 인덱스(index) 찾기(2) - lastIndexOf() (0) | 2023.09.13 |
[JavaScript] 배열 특정 값으로 채우기 - fill() (0) | 2023.09.12 |
[JavaScript] 배열 자르기 - slice() (0) | 2023.09.12 |
[JavaScript] 배열 합치기 - concat(), ...spread operator, push() (0) | 2023.09.11 |