Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引导:自定义升序和降序排序_Javascript_Html_Css_Bootstrap 4 - Fatal编程技术网

Javascript 引导:自定义升序和降序排序

Javascript 引导:自定义升序和降序排序,javascript,html,css,bootstrap-4,Javascript,Html,Css,Bootstrap 4,我正在尝试为引导表定制一个分拣机。当我想对如下值进行排序时,普通排序函数不起作用: 1.000.000,00; 1.100.000,00; 800.000,00; 900.000,00 它将它们分类如下: 900.000,00; 800.000,00; 1.000.000,00; 1.100.000,00 我编写了一个自定义函数,并使用数据分类器来调用它。 函数正在被调用,但我只收到2个参数,a和b,bootstrap并没有告诉我现在应该对asc还是desc进行排序。 我试着编写一个包含3个参数

我正在尝试为引导表定制一个分拣机。当我想对如下值进行排序时,普通排序函数不起作用: 1.000.000,00; 1.100.000,00; 800.000,00; 900.000,00

它将它们分类如下: 900.000,00; 800.000,00; 1.000.000,00; 1.100.000,00

我编写了一个自定义函数,并使用数据分类器来调用它。 函数正在被调用,但我只收到2个参数,a和b,bootstrap并没有告诉我现在应该对asc还是desc进行排序。 我试着编写一个包含3个参数的函数,但得到了作为附加参数传递的行,我不知道这对我有什么帮助

Html:


年
生意
名称
钱
Javascript:

function moneySorter(a, b) {
    if (a > b) {
        return 1;
    } else {
        return 0;
    }
}
我发现了一个非常糟糕的解决方案,即停止调用函数之间的时间间隔,如果超过了x毫秒,则按另一种方式排序,但它需要双击才能工作:

    var lastSort = 0;
    var status = 0;

    function moneySorter(a, b) {
        if (new Date().getTime() > lastSort + 20) {
            console.log(status);
            if (status < 3) {
                status = status * 1 + 1;
            } else {
                status = 0;
            }
        }
        lastSort = new Date().getTime();

        if (status < 2) {
            if (a > b) {
                return 1;
            } else {
                return 0;
            }
        } else {
            if (a < b) {
                return 1;
            } else {
                return 0;
            }
        }
    }
var lastSort=0;
var状态=0;
功能货币分拣机(a、b){
如果(新日期().getTime()>lastSort+20){
控制台日志(状态);
如果(状态<3){
状态=状态*1+1;
}否则{
状态=0;
}
}
lastSort=新日期().getTime();
如果(状态<2){
如果(a>b){
返回1;
}否则{
返回0;
}
}否则{
if(a
我还发现,我的函数在每次单击排序符号时都会被调用,但我的结果只会每秒被接受一次。这就是我使用4种状态的原因:

状态0:第一次单击,结果被忽略,asc

状态1:第二次单击,结果被接受,asc

状态2:第三次单击,结果被忽略,现在描述

状态3:第四次单击,结果被接受,描述

我当前的代码非常糟糕,只有在用户双击时才能工作。如果有人知道如何传递一个参数,告诉我是向上排序还是向下排序,那就太好了

谢谢大家!