layui 浮点型单元格排序问题探讨

看图先排序不对

clipboard.png

layui的table.js源码就是按照字符串开始排序的,所以对于浮点型排序就bug了。但是同样一组数据加上百分号%排序又正常了。

客观原因:
1、改数据库不现实,表头与表内容都是用户自行动态配出来的。
2、在用户自行导数据的时候,不可能叫用户设置数据类型,用户都是小白。

我这里曲线救国办法是用parseData遍历下指定total合计字段,就行了!但是问题是这样就写死了,我希望是获取json数据然后判断一下所有字段下的数据,但凡是小数就给它parseFloat一下浮点型。就是Object.values(res.data[i])之后很茫然该怎么写。

clipboard.png


parseData: function (res) {
    $.each(res.data, function (i, d) {
        res.data[i].total = parseFloat(res.data[i].total);
        console.log(Object.values(res.data[i]))
    });
}
阅读 5.2k
1 个回答

用到prop属性:获取所有值然后做数据类型判断。

     parseData: function (res) {
                $.each(res.data, function (i, key, value) {
                    for (var prop in res.data[i]){
                        var dataType = res.data[i][prop];
                        if (!isNaN(dataType)) {
                            res.data[i][prop] = Number(dataType);
                        }
                    }
                })
            }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题