javascript - 使用数字和字符串对列进行排序

标签 javascript html sorting

我有 2 个用于对列进行排序的函数,使用“%”对列进行排序,但是如果我使用字母而不是“%”,则列按字母顺序排序。

main.js 中,我使用它来选择选项,paint2 有效,但 paint1 无效:

var func = (upti == 'T') ? paint1 : paint2;
[...]
str += '<td>' + func(value[firstvalue]) + '</td>';

在其他文件中我有这些功能:

function paint1(tmp) {
  if (tmp == null || tmp == "null" || tmp == "-") {
    return "-";
  } else if (tmp == "Out") {
    return tmp;
  } else {
    tmp = (+tmp).toFixed(1);    
    return "<span>" + tmp + "s</span>";
  }
}

function paint2(disp) {
  if (disp == null || disp == "null" || disp == "-") {
    return "-";
  } else if (disp == "Out") {
    return disp;
  } else if (disp == "100") {
    disp = parseFloat(disp);
    return disp.toFixed(1) + "<span>%</span>";
  } else {
    disp = parseFloat(disp);
    return disp.toFixed(2) + "<span>%</span>";
  }
}

最佳答案

创建映射表以用百分号替换字母:

function replacer(match, offset, fullstring)
  { 
  /* Store position of replacement */
  replacer[match] = offset;
  return "%";
  }

function sorter(seq)
  {
  var result = seq.replace(/[A-Za-z]/g, replacer);
  return result;
  }

关于javascript - 使用数字和字符串对列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35746452/

相关文章:

javascript - Json按2个字段格式化

Javascript onClick 触发两个事件

javascript - 点击最喜欢的明星

javascript - 如何使用 scrollTop() 制作反向动画;

linux - 对文件中具有指定模式最高值的行进行排序

c++ - 顺时针排序算法的优化

javascript - 如何在 C# 代码中使用 jQuerydialog() 而不是confirm()?

html - 两个容器的css动态布局

C++ 使用 std::sort 为非常小的 std::vector 抛出 std::bad_alloc 异常

javascript - 从 Tcl 传递文件时 JSON2HTML 返回错误