如何调整此比较函数进行表格排序

时间:2013-06-02 14:41:21

标签: javascript

这将按字母顺序排序,但在a的b之前等等。我想要以[开头的任何内容,然后是以.开头的任何内容。

怎么做?

function ts_sort_default(a,b) {
  aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
  bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
  if (aa==bb) {
    return 0;
  }
  if (aa<bb) {
    return -1;
  }
  return 1;
}

1 个答案:

答案 0 :(得分:2)

只需添加这些行

即可
function ts_sort_default(a,b) {
  aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
  bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);

////
if(aa.substr(0,1) == '[') {
        if(bb.substr(0,1) == '[') {return 0;} else {return 1;}    
}

if(bb.substr(0,1) == '[') {
    return -1; // aa is known not to be "["    
}

if(aa.substr(0,1) == '.') {
    if(bb.substr(0,1) == '.') {return 0;} else {return 1;}    
}

if(bb.substr(0,1) == '.') {
    return -1;    
}

////

if (aa==bb) {
    return 0;
  }
  if (aa<bb) {
    return -1;
  }
  return 1;
}

(我对JS并不多,所以请仔细检查语法。)