排序'人类'表分类器中的数字
Sorting 'human' numbers in tablesorter
我正在使用表分类器对一组值进行排序,这些值的格式从710,231
到6.39 million
、37.3 million
、5.3 million
等等都有所不同。目前,插件排序只是忽略million
,否则会很好地排序,但因此您会得到类似"530万、639万、3730万、710231、"的内容
您需要添加一个解析器来用它们的值替换名称(演示):
// see big list here: http://www.unc.edu/~rowlett/units/large.html
var numbers = {
'zero' : 0,
'hundred' : 100,
'thousand' : 1e3,
'million' : 1e6,
'billion' : 1e9,
'trillion' : 1e12,
'quadrillion' : 1e15,
'quintillion' : 1e18,
'sextillion' : 1e21,
'septillion' : 1e24,
'octillion' : 1e27,
'nonillion' : 1e30,
'decillion' : 1e33
};
$.tablesorter.addParser({
id: "namedNumbers",
is: function () {
return false;
},
format: function (s, table) {
var v,
result = 1,
arry = (s || '').split(/['-'s]+/),
len = arry.length;
while (len) {
v = $.tablesorter.formatFloat( (arry[--len] || '').toLowerCase(), table );
if ( numbers.hasOwnProperty(v) ) {
result *= numbers[v];
} else {
result *= parseFloat(v);
}
}
return result !== 1 ? result : s;
},
type: "numeric"
});
$(function () {
$('table').tablesorter({
theme: 'blue',
headers : {
1 : { sorter : 'namedNumbers' }
}
});
});
相关文章:
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 测试索引值是否等于某个数字的倍数
- 将数字转换为一定数量的硬币
- 键入最后一位数字后自动提交
- 如何在javascript中迭代数字列表
- Javascript逻辑运算符和字符串/数字
- 如何在javascript中获得与特定数字相等的随机数
- 如果元素's的ID以数字开头
- 递增一个数字而不去掉前导零
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 如何在这里将两个值最低的数字相加
- 如何删除除冒号、数字和'上午'或者'下午'
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- Javascript排序字符串或数字
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 将数字四舍五入到小数点后两位
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 正则表达式与数字中的第二个点匹配
- 将一天中的时间保存为mongodb中的数字,但以人类格式显示(使用流星自动形成)
- 排序'人类'表分类器中的数字