indexOf()
배열 내에서 특정 요소의 위치값을 찾기 위해서는 indexOf() 메소드를 사용한다. 매개변수로는 요소 데이터를 받으며 배열 내에서 위치값을 반환한다.
물론 배열 뿐만 아니라 문자열에서도 indexOf() 메소드를 사용하면 특정 캐릭터를 찾을 수 있다.
const arr = [1,2,3,4,5]
const location = arr.indexOf(3);
console.log(location);
➜ Javascript node test.js
2
문자열 내 indexOf() 메소드 사용
const str = "hello world";
const str_loc = str.indexOf('lo ')
console.log(str_loc);
➜ Javascript node test.js
3
만약 찾는 요소가 배열내 존재하지 않으면 -1을 반환한다. 배열내에 특정 값 존재 유무를 체크하기 위해 includes() 메소드를 사용해도 되지만 indexOf()로도 확인할 수 있다.
const arr = [1,2,3,4,5]
const location = arr.indexOf(7);
if(location < 0) console.log("값이 존재하지 않습니다.")
console.log(location);
➜ Javascript node test.js
값이 존재하지 않습니다.
-1
만약 배열내에 중복된 값이 존재한다면 N 번째 위치를 찾을 수 있다.
indexOf('검색 데이터', N) => N번째 데이터의 위치 반환
const arr = [
'korea',
'usa',
'japan',
'usa',
'china',
'usa',
'British',
'usa',
]
const newArr = arr.indexOf('usa', 2)
console.log(newArr);
➜ Javascript node test.js
3
lastIndexOf()
배열 내에 중복된 데이터가 있을 경우 뒤에서 부터 찾아야 하는 경우에 사용한다. 매개변수는 indexOf()와 동일하게 찾고자 하는 요소 데이터를 전달받고, 배열 뒤에서 부터 인덱스를 서칭하여 최종 위치값을 반환한다.
const arr = [1,2,3,4,1,5]
const location = arr.lastIndexOf(1);
console.log(location);
➜ Javascript node test.js
4
toUpperCase() vs toLowerCase()
indexOf() 메소드는 기본적으로 대소문자를 구분한다. 따라서 문자열을 검색할 때는 배열 안의 요소를 찾기 위해서 스케일링을 따로 작업해줘야 한다.
const arr = [
'korea',
'usa',
'japan',
'china',
'British'
]
const newArr = arr.indexOf('USA'.toLowerCase())
console.log(newArr);
➜ Javascript node test.js
1
'Programming' 카테고리의 다른 글
[Javascript] Prototype 이란? (0) | 2022.05.14 |
---|---|
[Programming] JSON 이란? (0) | 2022.05.13 |
[Javascript] 배열 메소드 Array Method 정리 (0) | 2022.05.12 |
[Git] Github 기본 개념 명령어 사용법 정리 (0) | 2022.05.11 |
[Programming] CLI 기본 명령어 (feat GUI vs NUI) (0) | 2022.05.11 |
댓글