本文实例讲述了jQuery实现的简单排序功能。分享给大家供大家参考,具体如下:
这里演示的冒泡排序, 通过不断的循环找出最小的值,放到新的数组中。每次循环后都将指针指向下一个元素。直到两层循环都结束。
index.html:
Sort$(function(){
var Sort={};
(function(Sort){
Sort.initData={
toSortArr:[]
};
Sort.methods=(function(){
var tmp='';
return {
init:function(){
//
},
pushData:function(arr){
for(var i in arr){
Sort.initData.toSortArr.push(arr[i]);
}
},
getData:function(){
return Sort.initData.toSortArr;
},
sortData:function(arr){
var tmpArr=new Array();
var tmpNumArr=new Array();
var tmpCharArr=new Array();
var tmpOtherArr=new Array();
for(var i in arr){
var at=arr[i].charCodeAt(0);
if( at>=48 && at<=57 ){
tmpNumArr.push(arr[i]);
}else{
if(at>=65 && at<=122 ){
tmpCharArr.push(arr[i]);
}else{
tmpOtherArr.push(arr[i]);
}
}
}
tmpNumArr=Sort.methods.getSort(tmpNumArr);
tmpCharArr=Sort.methods.getSort(tmpCharArr);
tmpOtherArr=Sort.methods.getSort(tmpOtherArr);
tmpArr=Sort.methods.restoreArr(tmpArr,tmpNumArr);
tmpArr=Sort.methods.restoreArr(tmpArr,tmpCharArr);
tmpArr=Sort.methods.restoreArr(tmpArr,tmpOtherArr);
return tmpArr;
},
getSort:function(arr){
for(var i=0;i
for(var j=i;j
if(arr[i]>arr[j]){
var tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
}
}
}
return arr;
},
restoreArr:function(tmpArr,arr){
for(var i=0;i
tmpArr.push(arr[i]);
}
return tmpArr;
}
}
})();
})(Sort);
var tmpArr=new Array();
tmpArr.push('zfsd');
tmpArr.push('qwerewtrer');
tmpArr.push('fxdfhk');
tmpArr.push('123');
tmpArr.push('ssjdf');
tmpArr.push('kl;');
tmpArr.push('我的;');
tmpArr.push('sdg');
tmpArr.push('rt');
Sort.methods.pushData(tmpArr);
var t=Sort.methods.sortData(tmpArr);
console.log(tmpArr);
console.log(t);
});
此排序的核心代码:
var arr=new Array();
for(var i=0;i
for(var j=i;j
if(arr[i]>arr[j]){
var tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
}
}
}
希望本文所述对大家jQuery程序设计有所帮助。