>웹 프론트엔드 >JS 튜토리얼 >js에서 sort()를 사용하는 방법

js에서 sort()를 사용하는 방법

小云云
小云云원래의
2018-03-13 17:15:092143검색

매개변수 없이 이 메소드를 호출하면 배열의 요소가 알파벳순, 더 정확하게는 문자 인코딩 순서로 정렬됩니다. 이를 달성하려면 먼저 비교를 위해 배열 요소를 문자열(필요한 경우)로 변환합니다.

array.sort() 메서드는 기본적으로 오름차순으로 정렬됩니다. 다른 기준에 따라 정렬하려면 비교 함수를 제공해야 합니다. 이 함수는 두 값을 비교한 다음 상대적인 순서를 설명하는 숫자를 반환합니다. 두 개의 값. 비교 함수에는 a와 b라는 두 개의 매개변수가 있어야 하며 반환 값은 다음과 같습니다.

  • a가 b보다 작으면 정렬된 배열에서 a가 b보다 먼저 나타나야 하고 0보다 작은 값을 반환합니다.

  • a가 b와 같으면 0을 반환합니다.

  • a가 b보다 크면 0보다 큰 값을 반환합니다.

간단함: 함수 a와 b의 두 매개변수를 비교하고, a-b 오름차순을 반환하고, b-a 내림차순을 반환합니다.

다음은 몇 가지 예를 통해 이해될 것입니다.

일반 배열 오름차순

var arr = [4,3,6,5,7,2,1];
arr.sort();
console.log(arr);//输出结果[1,2,3,4,5,6,7]

일반 데이터 내림차순

var arr = [4,3,6,5,7,2,1];
arr.sort();
arr.sort(function(a,b){    return b-a;
});
console.log(arr);//输出结果[7,6,5,4,3,2,1]

객체 배열 정렬

var arr= [ 
    { 'sortNo': 2},
    { 'sortNo': 1},
    { 'sortNo': 5},
    { 'sortNo': 6},
    { 'sortNo': 7},
    { 'sortNo': 3},
    { 'sortNo': 9},
    { 'sortNo': 4},
    { 'sortNo': 0}
];
arr.sort(function(a, b){        return a.sortNo - b.sortNo;
});
console.log(arr);//输出结果//{ 'sortNo': 2}//{ 'sortNo': 1}//{ 'sortNo': 5}//{ 'sortNo': 6}//{ 'sortNo': 7}//{ 'sortNo': 3}//{ 'sortNo': 9}//{ 'sortNo': 4}//{ 'sortNo': 0}

객체 배열의 다중 조건 정렬

(이 예에서는 sortNo가 동일하면 sortNo2를 큰 것부터 작은 것까지 누릅니다.)

var arr= [ 
    { 'sortNo': 2, 'sortNo2': 3},
    { 'sortNo': 1, 'sortNo2': 3},
    { 'sortNo': 5, 'sortNo2': 3},
    { 'sortNo': 6, 'sortNo2': 3},
    { 'sortNo': 7, 'sortNo2': 3},
    { 'sortNo': 3, 'sortNo2': 4},
    { 'sortNo': 3, 'sortNo2': 2},
    { 'sortNo': 3, 'sortNo2': 1},
    { 'sortNo': 3, 'sortNo2': 3},
    { 'sortNo': 8, 'sortNo2': 3},
    { 'sortNo': 4, 'sortNo2': 1},
    { 'sortNo': 4, 'sortNo2': 2}
];
arr.sort(function(a, b){    if (a.sortNo === b.sortNo) {            return b.sortNo2 - a.sortNo2;
    } else {            return a.sortNo - b.sortNo;
    }
});
console.log(arr); 

//输出结果//{ 'sortNo': 1, 'sortNo2': 3}//{ 'sortNo': 2, 'sortNo2': 3}//{ 'sortNo': 3, 'sortNo2': 4}//{ 'sortNo': 3, 'sortNo2': 3}//{ 'sortNo': 3, 'sortNo2': 2}//{ 'sortNo': 3, 'sortNo2': 1}//{ 'sortNo': 4, 'sortNo2': 2}//{ 'sortNo': 4, 'sortNo2': 1}//{ 'sortNo': 5, 'sortNo2': 3}//{ 'sortNo': 6, 'sortNo2': 3}//{ 'sortNo': 7, 'sortNo2': 3}//{ 'sortNo': 8, 'sortNo2': 3}

관련 권장 사항:

자세한 설명 예 JavaScript 배열 정렬 reverse() 및 sort() 메서드

javascript

JavaScript 메서드에서 sort() 함수가 작동하여 배열의 요소를 정렬하는 방법 sort()

위 내용은 js에서 sort()를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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