>웹 프론트엔드 >JS 튜토리얼 >자바스크립트 배열 정렬 기능_자바스크립트 기술

자바스크립트 배열 정렬 기능_자바스크립트 기술

WBOY
WBOY원래의
2016-05-16 18:48:04849검색

arrayobj.sort(sortfunction);
매개변수: sortFunction
선택 사항. 요소의 순서를 결정하는 데 사용되는 함수의 이름입니다. 이 매개변수를 생략하면 요소는 ASCII 문자 오름차순으로 정렬됩니다.
sort 메소드는 Array 객체를 적절하게 정렬합니다. 실행 중에 새로운 Array 객체가 생성되지 않습니다.
sortfunction 인수에 함수가 제공되는 경우 함수는 다음 값 중 하나를 반환해야 합니다.
전달된 첫 번째 인수가 두 번째 인수보다 작은 경우 음수 값입니다.
두 인수가 모두 같으면 0입니다.
첫 번째 매개변수가 두 번째 매개변수보다 큰 경우 양수 값입니다.
위 방법은 1차원 정렬에 매우 편리한데, SQL 문에서 ORDER BY와 같은 다중 키 값 정렬을 어떻게 해야 할까요?
다차원 배열의 다중 키 값 정렬은 더 복잡해야 하지만 이를 해결하기 위해 루프를 사용할 필요는 없습니다. 실제 해결책은 동일합니다.
숫자:
다음 예는 SQL 문에서 ORDER BY col5, col9, col7과 같이 숫자의 다차원 배열을 5열, 9열, 3열 순서로 정렬하는 것입니다. 숫자의 경우 두 항목을 직접 빼고 그 결과를 반환 값으로 사용할 수 있습니다.

코드 복사 코드는 다음과 같습니다.




문자: 문자가
인 경우 sortFunction의 항목은 숫자처럼 직접 뺄 수 없습니다. localeCompare(str2) 메서드를 사용하여 반환 값을 만족시킵니다. 다차원 배열의 1열과 2열을 정렬하는 경우는 다음과 같습니다.




코드 복사
코드는 다음과 같습니다. function sortFunction(array) ...{ return array.sort( function(x, y) ...{
return (x[0]==y[0])?(x.localeCompare(y)):(x[0]. localeCompare(y [0]))
});
}


따라서 arrayObject.sort( sortFunction )의 정렬 기능은 여전히 ​​매우 강력하며 마침내 다음을 구현할 수 있습니다. SQL 문 함수의 동일한 ORDER BY.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.