컴퓨터 엑셀 워드 포토숍 구글어스 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