一尘不染

如何在javascript中定义自定义排序功能?

javascript

我使用atocomplete.jquery插件来建议输入文本,结果得到了这个数组:

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

当我开始搜索从te子字符串开始的东西时,它显示出数组排序如下:

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

我需要这样的东西:

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

有任何想法吗?


阅读 254

收藏
2020-05-01

共1个答案

一尘不染

该插件可能区分大小写。尝试输入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);
2020-05-01