私は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関数を使用して、パラメーターとして次のようにArray
のsort()
メソッドに渡すことができます。
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);
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;
}