为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

HUX布斯 2019-12-03 16:49:58
我使用atocomplete.jquery插件来建议输入文本,结果得到了这个数组:['White 023','White','White flower', 'Teatr']当我开始搜索从“ te”子字符串开始的内容时,它向我显示了这样的数组排序:'White','White 023','White flower', 'Teatr'我需要这样的东西: 'Teatr','White','White 023','White flower'有任何想法吗?
查看完整描述

3 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

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


查看完整回答
反对 回复 2019-12-03
?
达令说

TA贡献1821条经验 获得超6个赞

为了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;

    };

}


查看完整回答
反对 回复 2019-12-03
?
慕的地10843

TA贡献1785条经验 获得超8个赞

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;

}


查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 703 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信