Come definire la funzione di ordinamento personalizzato in javascript?

Io uso il plugin atocomplete.jquery per suggerire il testo di input, come risultato ottengo questo array:

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

Quando inizio a cercare qualcosa che inizia dalla sottostringa “te”, mi mostra l’ordinamento dell’array in questo modo:

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

Ho bisogno di qualcosa del genere:

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

Qualche idea?

    Potrebbe essere che il plugin sia case-sensitive. Prova a inserire Te posto di te . Probabilmente è ansible impostare i risultati in modo che non siano sensibili al maiuscolo / minuscolo. Questa domanda potrebbe aiutare.

    Per una funzione di ordinamento personalizzata su una Array , è ansible utilizzare qualsiasi funzione JavaScript e passarla come parametro al metodo sort() Array questo modo:

     var array = ['White 023', 'White', 'White flower', 'Teatr']; array.sort(function(x, y) { return x - y; }); // Teatr White White 023 White flower document.write(array); 

    Per gli Objects prova questo:

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

    o più corto

     sortBy(field){ return (a[field] > b[field]) - (a[field] < b[field]) } 
     function msort(arr){ for(var i =0;iarr[j]){ var swap = arr[i]; arr[i] = arr[j]; arr[j] = swap; } } } return arr; }