Development Tip

자바 스크립트에서 사용자 정의 정렬 기능을 정의하는 방법은 무엇입니까?

yourdevel 2020. 12. 30. 19:45
반응형

자바 스크립트에서 사용자 정의 정렬 기능을 정의하는 방법은 무엇입니까?


atocomplete.jquery 플러그인을 사용하여 입력 텍스트를 제안하면 결과가 다음 배열을 얻습니다.

['White 023','White','White flower', 'Teatr']

"te"부분 문자열로 시작하는 것을 검색하기 시작하면 다음과 같이 배열 정렬이 표시됩니다.

'White','White 023','White flower', 'Teatr'

다음과 같은 것이 필요합니다.

 'Teatr','White','White 023','White flower'

어떤 아이디어?


플러그인이 대소 문자를 구분할 수 있습니다. Te대신 입력 해보십시오 te. 대소 문자를 구분하지 않도록 결과를 설정할 수 있습니다. 질문 이 도움 될 것입니다.

에 대한 사용자 정의 정렬 함수의 Array경우 JavaScript 함수를 사용하고 다음과 같이 Arraysort()메서드에 매개 변수로 전달할 수 있습니다 .

var array = ['White 023', 'White', 'White flower', 'Teatr'];

array.sort(function(x, y) {
  if (x < y) {
    return -1;
  }
  if (x > y) {
    return 1;
  }
  return 0;
});

// Teatr White White 023 White flower
document.write(array);

Array.sort에 대한 자세한 정보는 여기에 있습니다.


들어 Objects이 시도 :

function sortBy(field) {
    return function(a, b) {
        if (a[field] > b[field]) {
            return -1;
        } else if (a[field] < b[field]) {
            return 1;
        }
        return 0;
    };
}

이하

sortBy(field){
 return (a[field] > b[field]) - (a[field] < b[field])
}

function msort(arr){
    for(var i =0;i<arr.length;i++){
        for(var j= i+1;j<arr.length;j++){
            if(arr[i]>arr[j]){
                var swap = arr[i];
                arr[i] = arr[j];
                arr[j] = swap;
            }
        }
    }
return arr;
}

ReferenceURL : https://stackoverflow.com/questions/5002848/how-to-define-custom-sort-function-in-javascript

반응형