Inspired World

JavaScript에서 문자열 위치, 배열 위치 알아내기 본문

jQuery

JavaScript에서 문자열 위치, 배열 위치 알아내기

InspiredJW 2012. 3. 27. 13:18

JavaScript에서 문자열 위치, 배열 위치를 알아내는 방법에는

여러가지가 있겠지만 자체 함수로는 .indexOf() 함수 가 있습니다.



위 링크를 확인해보시면 아시겠지만 사용법도 간단하고 별 문제가 없는 줄 알았는데

IE8 (인터넷 익스플로러8)에서 지원하지 않는 함수라는 문제가 있었습니다.



이유는 ECMAScript v5 부터 .indexOf() 가 포함되었는데

JScript를 사용하는 IE이기 때문에 요즘 FireFox, Chrome, Safari와 같은

브라우저는 대부분 ECMAScript v5 규격에 맞는 JavaScript 엔진이 탑재 되어

있는 반면, IE는 그렇지 않습니다.



뭐 사실 CSS도 그렇고 JavaScript도 그렇고 원래 IE는 좀 그렇습니다 ㅋ



문자열이나 배열의 .indexOf()를 이용해서 몇번째에 속해 있나

혹은 아예 속해 있지 않은가를 알아낼 수 있는 함수인데

없기 때문에 대체 방법을 찾아봤습니다.



해결 방법은 바로 jQuery





$.inArray 또는 jQuery.inArray 함수를 통해

IE 및 ECMAScript v5를 지원하지 않는 자바스크립트 엔진에서도

같은 동작을 하게끔 해주는 함수입니다.





사용 방법:




$.inArray( needle, haystack );




이렇게 하면 찾을 아이템은 needle

찾을 장소 (문자열이나 배열)를 haystack에 넣어주면 됩니다.


.indexOf 함수와 마찬가지로 값을 찾지 못하면 -1 값을 리턴하게 되고

값을 찾았다면 가장 첫번째 위치를 0을 기준으로 몇 번째에 있는지 위치를 리턴해줍니다.

Comments