개발공작소
728x90
반응형

 

문자열이나, 배열에서 특정 값이 있는지 확인 할 때 Includes도 사용하는데, IndexOf도 자주 사용했었다.

정확히 말하면 IndexOf는 true/false를 리턴하는 게 아닌, 값의 위치값을 리턴해주는데..

값이 없으면 -1을 값이 있으면 0이상을 반환해주기 때문에, -1이 리턴되면 false라고 판단하여 사용을

했었었다.. 함수의 용도는 다르지만, 그때그때 사용자의 방식에 따라 달라지는 것 같다..

 

IndexOf()란?

-----------------------------------------------------------------------------------------------------------------------------------

 

문자열 및 배열에 특정값이 있으면 해당 인덱스(위치값)을 반환, 없으면 -1을 반환하는 ES5 기반 메서드이다.

 

String.prototype.indexOf() : 호출한 String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환하며, 일치하는 값이 없으면 -1을 반환.

 

Array.prototype.indexOf() : 배열에서 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환

 

 

기본문법

--문자열
string.indexOf(searchvalue, position)

--배열
 Array.indexOf(searchvalue, position)

//searchvalue : 찾을 문자열, 필수값이다.
//position : 찾기 시작 할 인덱스, 선택값이다.

 

샘플코드

<script>

   let Txt = '달 밝은 밤이면 창가에 흐르는 내 젊은 연가가 구슬퍼';
   let array = ['달 밝은 밤이면','창가에 흐르는','내 젊은 연가가','구슬퍼'];

   // string.prototype.includes
   console.log('"젊은"은 몇번 째 인덱스에 있습니까? : ' + Txt.indexOf('젊은')); // 19 반환
   console.log('"늙은"은 몇번 째 인덱스에 있습니까? : ' + Txt.indexOf('늙은')); // -1 반환

   // array.prototype.includes
   console.log('"내 젊은 연가가"은 몇번 째 인덱스에 있습니까? : ' + array.indexOf('내 젊은 연가가')); // 2 반환
   console.log('"내 늙은 연가가"은 몇번 째 인덱스에 있습니까? : ' + array.indexOf('내 늙은 연가가')); // -1 반환
   
</script>
728x90
반응형
profile

개발공작소

@모찌바라기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!