2016 - 2025

感恩一路有你

sort方法排序会不会修改数组本身 基于jquery的表格排序?

浏览量:2723 时间:2023-05-12 19:33:20 作者:采采

基于jquery的表格排序?

$(function(){

//存入直接点击列的每一个TD的内容;

varaTdCont[];

//再点列的索引值

varthanh0

//然后再对TR进行排序

varsetTrIndexfunction(tdIndex){

for(i0;iaTdCont.length;i){

vartrContaTdCont[i];

$(tbodytr).each(function(){

varthisText$(this).children(td:eq(tdIndex)).text();

if(thisTexttrCont){

$(tbody).append($(this));

}

});

}

}

//比较比较函数的参数函数

varcompare_downfunction(a,b){

returna-b;

}

varcompare_upfunction(a,b){

returnb-a;

}

//比较函数

varfSortfunction(compare){

(compare);

}

//木盒TD的值,并存进数组,接过前二个TD值;

varfSetTdContfunction(thIndex){

$(tbodytr).each(function(){

vartdCont$(this).children(td:eq(thIndex)).text();

aTdCont.push(tdCont);

});

}

//点击时必须执行的函数

varclickFunfunction(thindex){

aTdCont[];

//某些再点当前列的索引值

varnThCountthindex;

//动态创建sortTh函数接过要比较好的数据

fSetTdCont(nThCount);

}

//然后点击事件没绑定函数

$(th).toggle(function(){

thi$(this).index();

clickFun(thi);

//全局函数都很函数,降序

fSort(compare_up);

//重新排序行

setTrIndex(thi);

},function(){

clickFun(tinh);

//全局函数比较函数升序

fSort(compare_down);

//重新排序行

setTrIndex(thi);

})

})

主要思路:

只不过JS有SORT的方法,对数组接受排序,那就按照个方法,我们变会想到数组了。

1.点标表格标头的时候,取出再点的是那一列。即列的索引值。是因为下面要并且排序的那是该列。所以我我要知道是点的那一列。

2.对表格的数据部分,也就是tbody部分,进行点击的列的取值,把这些值现金存入到一个数组当中。

3.将卡内数据的数组,按照SORT方法并且排序。(这里写了两种,升,或降,毕竟是直接点击时要可以切换排序的。上次降,第一次升,第三降,第四升,由前到后参与)

4.将排序好的数组的值并且遍历数组,在遍历过程过程中,和每一行TR的然后点击列的那个TD当中的数据通过一个比较。如果没有大小关系,就再插入到tbody的结果去.(反应最快直接插入的,将是在第一行。)

sort默认是以什么排序的?

sort函数设置成的排序是升序排序,即你从小到大。

1.对简单数组排序

简单理解那就是partitions(begin,end,cmp)

sort函数中参数有三个(第三个这个可以省略)

其中begin是排序数组的起始地址

end是排序数组的结束地址(后来一位要排序元素的地址)这两个参数是地址。

对于降序排序这个可以用sort(a,a10,greater())也这个可以可以自定义cmp函数

另外相不对应的升序排序用sort(a,a10,less())

2.对string型按字典序排序

3.对结构体排列

相对于结构体排序不过也不是很难,仅仅要我们自己格式化处理cmp函数

函数 排序 function

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。