javascript에서 배열에 원하는 특정 값이 포함되어 있는 지 확인하는 방법이 여러가지 있다.
indexOf()
- string 객체에서 주어진 값과 일치하는 첫 번째 인덱스 반환한다. 일치하는 값이 없으면 -1을 반환한다. ( 대소문자를 구분한다 )
문법 : str.indexOf(searchValue[, fromIndex]) ( fromIndex는 optional한 값 )
fromIndex 찾기 시작하는 위치를 나타내는 인덱스 값으로 아래 예시 중 마지막 str.indexOf("I", 5) 에서 “ I ” 위치 뒤인 5번 부터 시작하여 -1을 반환한다.
See the Pen indexOf() by pminsun (@pminsun) on CodePen.
lastIndexOf()
- 주어진 값과 일치하는 부분을 fromIndex로 부터 역순으로 탐색하여, 최초로 마주치는 인덱스를 반환한다. 일치하는 부분을 찾을 수 없으면 -1을 반환한다. (마지막으로 일치하는 값에 대한 인덱스를 반환)
문법 : str.lastIndexOf(searchValue[, fromIndex]) ( fromIndex는 optional한 값 )
See the Pen lastIndexOf() by pminsun (@pminsun) on CodePen.
includes()
- 배열의 항목에 특정 값이 포함되어 있는지 판단하여 true또는 false를 반환한다.
문법 : includes(searchElement, fromIndex) ( fromIndex는 optional한 값 )
See the Pen includes() by pminsun (@pminsun) on CodePen.
document.writeln(drinks.includes('wine', -1)); 설명
fromIndex 자리에 음수가 들어가면, 실제 시작 index는 '배열의 길이 + fromIndex' 로 계산된다. 배열의 길이는 3이고, fromIndex는 -1이므로, 실제 검색을 시작하는 index는 2이가 됩니다. (3 + (-1)) arr[2]에 ‘wine’가 있어, true가 반환 된다
document.writeln(drinks.includes('wine', 3)); 설명
fromIndex가 배열 길이보다 크거나 같은 경우 false가 반환 된다.
findIndex()
- 주어진 조건(판별 함수)을 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환한다. 만족하는 요소가 없으면 -1을 반환한다.
문법 : findIndex(callbackFn, thisArg) ( thisArg는 optional한 값 )
See the Pen findIndex() by pminsun (@pminsun) on CodePen.
some()
- 배열 안의 어떤 요소라도 주어진 판별 함수를 적어도 하나라도 통과하는지 테스트하여 true, false를 반환한다.
문법 : some((element, index, array) => { /* … */ }) / some(function (element, index, array) { /* … */ }, thisArg) ( thisArg는 optional한 값 )
See the Pen some() by pminsun (@pminsun) on CodePen.
참고
'Javascript' 카테고리의 다른 글
반복문 (0) | 2024.08.24 |
---|---|
Promise와 axios, fetch (0) | 2024.08.24 |
타이머 함수 - setTimeout(), setInterval() (0) | 2024.08.24 |
문자열 자르기 (0) | 2024.08.24 |
mobile 100vh (0) | 2024.08.22 |