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을 기준으로 몇 번째에 있는지 위치를 리턴해줍니다.