我有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>";
}
}
答案 0 :(得分:0)
创建一个映射表,用百分号替换字母:
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;
}