>  기사  >  웹 프론트엔드  >  Sort() function_javascript 기술의 다양한 용도

Sort() function_javascript 기술의 다양한 용도

WBOY
WBOY원래의
2016-05-16 15:10:001653검색

sort() 메서드는 배열 요소를 정렬하는 데 사용됩니다. 헤더 파일 알고리즘에 포함

문법

arrayObject.sort(sortby)

参数 描述
sortby 可选。规定排序顺序。必须是函数。

반환값

배열에 대한 참조입니다. 배열은 원본 배열에 따라 정렬되며 복사본이 만들어지지 않습니다.

1. 기본 상황

기본적으로 sort() 메서드는 배열 항목을 오름차순으로 정렬합니다. 정렬을 수행하기 위해 sort() 메서드는 각 배열 항목의 toString() 변환 메서드를 호출한 다음 결과 문자열을 비교하여 정렬 방법을 결정합니다. 다음과 같습니다:

var values = ["orange","apple","banana"];
values.sort();
console.log(values);//结果["apple", "banana", "orange"]

그러나 배열의 각 항목이 숫자 값인 경우에도 sort() 메서드는 다음과 같이 문자열을 비교합니다.

var values = [,,,,];
values.sort();
console.log(values);//结果[, , , , ]

2. 값 정렬 ​​

sort() 메소드는 비교 함수를 매개변수로 받을 수 있습니다.

비교 함수는 두 개의 매개변수를 받습니다. 첫 번째 매개변수가 두 번째 매개변수보다 앞에 있어야 하면 음수를 반환합니다. 두 매개변수가 같으면 0을 반환합니다. 첫 번째 매개변수가 두 번째 매개변수 뒤에 있으면 반환합니다. 양수.

function compare(a, b){
return (a - b);
}//按升序排列的比较函数
var values = [,,,,];
values.sort(compare);
console.log(values);//结果[, , , , ]

3. 객체 속성에 따라 배열 정렬

먼저 속성 이름을 받는 함수를 정의한 다음 이 속성 이름을 기반으로 비교 함수를 만듭니다. 이 함수의 정의는 다음과 같습니다.

function createComparisonFunction(propertyName){
return function(object, object){
var a = object[propertyName];
var b = object[propertyName];
if(a < b){
return -;
}else if(a > b){
return ;
}else{
return ;
}
}
}//返回一个根据属性名创建的按升序排列的比较函数

내부 함수는 propertyName 매개변수를 수신한 후 대괄호 표기법을 사용하여 지정된 속성의 값을 가져옵니다.

위 기능은 아래 예시와 같이 사용할 수 있습니다.

var data = [{name:"Lily", age: }, {name:"Judy", age: }];
data.sort(createComparisonFunction("name"));
console.log(data[].name);//Judy
data.sort(createComparisonFunction("age"));
console.log(data[].name);//Lily

위 내용은 에디터가 소개한 Sort() 함수의 다양한 활용법입니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.