1

这将按字母顺序排序,但在 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;
}
4

1 回答 1

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,所以请仔细检查语法。)

于 2013-06-02T14:50:00.347 回答