Javascript,按数字或字母排序列

Javascript, sort columns by numbers or letters

本文关键字:排序 数字 Javascript      更新时间:2023-09-26

我试图在一个表中获得不同的列排序。我让他们为数字工作,但我不知道如何为字母数据列完成。

这是我正在做的:http://jsfiddle.net/nx4Ex/1/

基于此:https://stackoverflow.com/a/7558600/2219915

我应该在评论里问一下,但是我的代表不够高。

这是我正在使用的脚本。我知道parsefloat处理数字,但我不确定我将如何改变它与数字和/或字母的工作。

function sortTable(){
var tbl = document.getElementById("caltbl").tBodies[0];
var store = [];
for(var i=0, len=tbl.rows.length; i<len; i++){
    var row = tbl.rows[i];
    var column1 = parseFloat(row.cells[0].textContent || row.cells[0].innerText);
    if(!isNaN(column1)) store.push([column1, row]);
}
store.sort(function(x,y){
    return x[0] - y[0];
});
for(var i=0, len=store.length; i<len; i++){
    tbl.appendChild(store[i][1]);
}
store = null;
};

我还应该提到,我试图避免使用任何javascript库或插件。我所需要的就是这个基本的排序功能。

表的排序,使用纯JavaScript构建。我在chrome中进行了测试

$('sort-date').addEventListener('click', function(){
    sortByDate( this );
},false);
$('sort-notify').addEventListener('click', function(){
    sortByNotify( this );
},false);
$('sort-id').addEventListener('click', function(){
    sortById( this );
},false);   

单击列标题,对表内容进行排序。jsfiddle

相关文章: