【问题标题】:format numbers before sort in DataTables API在 DataTables API 中排序之前格式化数字
【发布时间】:2021-10-08 09:05:56
【问题描述】:

我在 DataTables 中有一个列,其中包含一些金额,它们的格式类似于 1,200.00,我想获得该列的最大金额。为了做到这一点,我使用下面的代码,如果我在列中有 22.50、250.00 和 1,200.00,它假设给我 1,200.00 作为最大数量,但它会带回 250.00 作为最大数量.

var maxPrice = table
        .column(2)
        .data()
        .sort(function(a,b){
            return a - b 
        })
        .reverse()[0];

【问题讨论】:

    标签: javascript jquery datatables


    【解决方案1】:

    您可以使用datatable api,toArray() 方法。

    然后使用JS或者jquery来解析数字并排序。

    也可以使用extractContent() 函数来获取文本而不是html。

            /**
            * Get Max Price
            */
            function extractContent(s) {
              var span = document.createElement('span');
              span.innerHTML = s;
              return span.textContent || span.innerText;
            };
            
            var PriceArray = [];
            $( table.column(2).data().toArray() ).each(function( index ) {
                PriceArray.push(extractContent(this).replace(',',''));
            });
            var maxPrice = PriceArray.sort(function(a,b){return a-b}).reverse()[0];
            console.log(maxPrice);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      • 1970-01-01
      • 2016-03-08
      相关资源
      最近更新 更多