我使用atocomplete.jquery插件来建议输入文本,结果我得到了这个数组:
['White 023','White','White flower', 'Teatr']
当我开始搜索从“te”子字符串开始的内容时,它会向我显示这样的数组排序:
'White','White 023','White flower', 'Teatr'
我需要这样的东西:
'Teatr','White','White 023','White flower'
有什么想法吗?
答案 0 :(得分:61)
可能是插件区分大小写。尝试输入Te
而不是te
。您可以将结果设置为不区分大小写。这question可能会有所帮助。
对于Array
上的自定义排序功能,您可以使用任何JavaScript函数并将其作为参数传递给Array
的{{1}}方法,如下所示:
sort()
答案 1 :(得分:20)
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;
};
}
答案 2 :(得分:5)
或更短
sortBy(field){
return (a[field] > b[field]) - (a[field] < b[field])
}
答案 3 :(得分:1)
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;
}