本文介绍了如何在javascript中定义自定义排序函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I use atocomplete.jquery plugin to suggest input text, as the result I get this array:

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

当我开始搜索从 te 子字符串开始的内容时,它会显示我这样的数组排序:

When I start to search something thats begin from te substring it shows me array sorting like this:

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

我需要这样的东西:

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

有什么想法吗?

推荐答案

可能是插件区分大小写.尝试输入 Te 而不是 te.您可能可以将结果设置为不区分大小写.这个问题可能会有所帮助.

It could be that the plugin is case-sensitive. Try inputting Te instead of te. You can probably have your results setup to not be case-sensitive. This question might help.

对于 Array 上的自定义排序函数,您可以使用任何 JavaScript 函数并将其作为参数传递给 Arraysort()方法如下:

For a custom sort function on an Array, you can use any JavaScript function and pass it as parameter to an Array's sort() method like this:

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);

更多信息在这里数组排序.

这篇关于如何在javascript中定义自定义排序函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 10:36