大家有时会遇到表格数据排序的问题,下面设计的这个可以排序的二维javascript数组能够帮助您解决头疼的表格排序问题。
<script type="text/javascript">
function Array2D()
{
this.elems = new Array();
}
Array2D.prototype.add = function(elem)
{
this.elems.push(elem);
}
Array2D.prototype.sort2D = function(index)
{//[color=red]index参数 - 根据数组的第index列数据进行排序[/color]
if(index==undefined){return;}
var newElems = new Array();//
for(var i=0;i<this.elems.length;i++)
{
var tmpElem = new Array();
var lineElem = this.elems[i];
tmpElem.push(lineElem[index]);
for(var j=0;j<lineElem.length;j++)
{
tmpElem.push(lineElem[j]);
}
newElems.push(tmpElem);
}
newElems = newElems.sort();
for(var i=0;i<newElems.length;i++)
{
newElems[i] = newElems[i].splice(1,newElems[i].length-1);
}
return newElems;
}
//以下方法仅用于测试
function test()
{//[color=red]测试方法[/color]
var arr1 = new Array("11111","1aaaa","2aaaaa","1bbbb","2aaaa");
var arr2 = new Array("cbcd","12sfd","adasd","12sdf","你好gdssaf");
var arr3 = new Array("adsfgs","fasd1","12dfas","asdf","12121212");
var array2D = new Array2D();
array2D.add(arr1);
array2D.add(arr2);
array2D.add(arr3);
var buf = "";
var reArr = [color=darkblue]array2D.sort2D(1);//根据第2列数据排序[/color]
for(var i=0;i<reArr.length;i++)
{
buf += reArr[i];
buf +="\n";
}
alert(buf);
}
<script type="text/javascript">
function Array2D()
{
this.elems = new Array();
}
Array2D.prototype.add = function(elem)
{
this.elems.push(elem);
}
Array2D.prototype.sort2D = function(index)
{//[color=red]index参数 - 根据数组的第index列数据进行排序[/color]
if(index==undefined){return;}
var newElems = new Array();//
for(var i=0;i<this.elems.length;i++)
{
var tmpElem = new Array();
var lineElem = this.elems[i];
tmpElem.push(lineElem[index]);
for(var j=0;j<lineElem.length;j++)
{
tmpElem.push(lineElem[j]);
}
newElems.push(tmpElem);
}
newElems = newElems.sort();
for(var i=0;i<newElems.length;i++)
{
newElems[i] = newElems[i].splice(1,newElems[i].length-1);
}
return newElems;
}
//以下方法仅用于测试
function test()
{//[color=red]测试方法[/color]
var arr1 = new Array("11111","1aaaa","2aaaaa","1bbbb","2aaaa");
var arr2 = new Array("cbcd","12sfd","adasd","12sdf","你好gdssaf");
var arr3 = new Array("adsfgs","fasd1","12dfas","asdf","12121212");
var array2D = new Array2D();
array2D.add(arr1);
array2D.add(arr2);
array2D.add(arr3);
var buf = "";
var reArr = [color=darkblue]array2D.sort2D(1);//根据第2列数据排序[/color]
for(var i=0;i<reArr.length;i++)
{
buf += reArr[i];
buf +="\n";
}
alert(buf);
}
本文介绍了一种使用JavaScript实现的可排序二维数组方法,通过自定义Array2D类及其sort2D方法,可根据指定列对数组进行排序。适用于解决表格数据排序问题。
594

被折叠的 条评论
为什么被折叠?



