컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Java/자바] 문자열(String) 배열 내림차순(역순) 정렬(소팅/소트); Sort D...Java/자바] 숫자 정수(int) 배열 내림차순(역순) 정렬(소팅/소트); Sort De...Java/자바] 문자열 배열 내림차순(역순) 정렬(소팅/소트); Sort Descendin...Java/자바] 대소문자 구분 없이 정렬, 문자열 배열 소팅; Sort Ignore Cas...Perl/펄] 대소문자 구분 없이 정렬, 문자열 배열 소팅; Sort Ignore Case...Python/파이썬] 대소문자 구분 없이 정렬; 문자열 리스트(List;배열;Array) ...Python/파이썬] 문자열/숫자 리스트(List;배열;Array) 소팅(Sort; 소트,...Java/자바] 35mm 카메라 렌즈 화각(FOV) 구하기, 초점 거리(Focal Leng...Python/파이썬] ks_c_5601-1987, euc-kr; 소스 파일의 한글 인코딩 ...Python/파이썬] 문자 대소문자 변환, 영문 알파벳 대문자로 소문자로 변경; Upper...

자바스크립트] 대소문자 구분 없이 문자열 배열 정렬/소트/소팅; JavaScript Sort Ignore Case, String Array

Sunday, December 31, 2006

영문 문자열을 ABC순으로 정렬할 때, 기본적으로 대소문자를 구분하여 소팅하기에 결과가 부자연스럽게 나옵니다. 대소문자 구분 없이 영문 문자열을 정렬하는 방법입니다.

JavaScript: 영문 알파벳 대소문자 구분 없이 소팅 예제


<script type="text/javascript">

// 문자열 배열 선언과 초기화
var names = new Array( 'bbb', 'AAA', 'DDD', 'CCC', 'aaa' );



// 대소문자 구분하여 정렬
document.write(names.sort() + '<br />');
// 출력 결과: AAA,CCC,DDD,aaa,bbb



// 대소문자 구분 없이 정렬
document.write(names.sort(compStringIgnoreCase) + '<br />');
// 출력 결과: AAA,aaa,bbb,CCC,DDD



// 대소문자 구분 없이 내림차순 정렬
var s = names.sort(compStringIgnoreCase);
s.reverse();
document.write(s + '<br />');
// 출력 결과: DDD,CCC,bbb,aaa,AAA



// 대소문자 구분없이 정렬에, 내부적으로 필요한 비교 함수
function compStringIgnoreCase(a, b) {
  if (a.toLowerCase() < b.toLowerCase()) return -1;
  if (b.toLowerCase() < a.toLowerCase()) return 1;
  return 0;
}

</script>


비교 함수인 compStringIgnoreCase() 의 부등호를 반대로 하면, "대소문자 구분없이 역순 정렬"을 할 수 있긴 하지만, 그러면 aaa와 AAA 의 순서가 좀 이상하게 나오는 문제가 있기에, reverse() 로 뒤집어 주었습니다. reverse()를 사용하여 역순으로 만든다고 해도 속도가 느려지지는 않습니다.


▶▶ 자바스크립트] 문자열 배열, 가나다 순 정렬/내림차순 소팅; Sort String Array, JavaScript

☞ HTML/CSS/자바스크립트(JavaScript)

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top