//与arrayCompare相反方式比较大小,用于倒序使用
function arrayCompareRev(array1,array2){
if (array1[indexCol] < array2[indexCol])
return 1;
if (array1[indexCol] > array2[indexCol])
return -1;
return 0;
}
//与arrayCompareNumber相反方式比较大小,用于倒序使用
function arrayCompareNumberRev(array1,array2){
if (parseInt(array1[indexCol]) < parseInt(array2[indexCol]))
return 1;
if (parseInt(array1[indexCol]) > parseInt(array2[indexCol]))
return -1;
return 0;
}
//define a 2-dimension array
function BiArray(rows,cols){
//simulate multidimension array
this.rows = rows;
this.cols = cols;
//construct array
var lines = new Array(rows);
for(var i = 0;i < lines.length; i ){
lines[i] = new Array(cols);
}
// 设置数组在(i,j)的元素值为value
this.setElement = function(i,j,value){ lines[i][j] = value; };
// 获取数组在(i,j)处元素的值
this.getElement = function(i,j){return lines[i][j];};
// 返回数组第i行所在的数组
this.getLine = function(i){return lines[i];};
// 根据第j列字符串的值,对数组的行进行排序,排序结果为升序
this.sortLine = function(j){
indexCol = j;
lines.sort(arrayCompare);
};
// 根据第j列数值的值,对数组的行进行排序,排序结果为升序
this.sortLineByNumber = function(j){
indexCol = j;
lines.sort(arrayCompareNumber);
};
// 根据第j列字符串的值,对数组的行进行排序,排序结果为倒序
this.sortLineRev = function(j){
indexCol = j;
lines.sort(arrayCompareRev);
};
// 根据第j列数值的值,对数组的行进行排序,排序结果为倒序
this.sortLineByNumberRev = function(j){
indexCol = j;
lines.sort(arrayCompareNumberRev);
};
//将二维数组转为字符串格式
this.toString = function(){
var rst ="";
for(var i = 0; i < lines.length; i ){
for(var j = 0; j < lines[i].length; j ){
rst = lines[i][j];
rst = '\t';
}
rst = '\n';
}
return rst;
};
} // end of BiArray define
//ascending or descending
var asce = true;
/**
对表格中指定范围的数据进行排序
tableId 要排序的表格的id,值格式为 <table id="tb1" >
sortCol 用于排序的列号,从1开始计数
compareType 排序时比较方式,s-按字符串比较,n-按数值比较
startRow 排序范围起始行号,从1开始计数
endRow 排序范围结束行号,从1开始计数
startCol 排序范围起始列号,从1开始计数
endCol 排序范围结束列号,从1开始计数
评论加载中…
![]() |