jQuery实现的简单排序功能示例【冒泡排序】


Posted in Javascript onJanuary 13, 2017

本文实例讲述了jQuery实现的简单排序功能。分享给大家供大家参考,具体如下:

这里演示的冒泡排序, 通过不断的循环找出最小的值,放到新的数组中。每次循环后都将指针指向下一个元素。直到两层循环都结束。

index.html:

<html>
<head>
 <title>Sort</title>
 <meta content="text/html" charset="utf-8">
 <script type="text/javascript" language="javascript" src="js/jquery-1.10.2.js"></script>
 <script type="text/javascript" language="javascript">
  $(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<arr.length;i++){
        for(var j=i;j<arr.length;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<arr.length;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);
  });
 </script>
</head>
<body>
<input id="myFormFlow" type="button" value="进入表单填写">
</body>
</html>

此排序的核心代码:

var arr=new Array();
for(var i=0;i<arr.length;i++){
 for(var j=i;j<arr.length;j++){
  if(arr[i]>arr[j]){
   var tmp=arr[i];
   arr[i]=arr[j];
   arr[j]=tmp;
  }
 }
}

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
动态刷新 dorado树的js代码
Jun 12 Javascript
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
Apr 27 Javascript
EditPlus注册码生成器(js代码实现)
Mar 25 Javascript
JavaScript清空数组元素的两种方法简单比较
Jul 10 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
Jul 18 Javascript
Angularjs中UI Router的使用方法
May 14 Javascript
js enter键激发事件实例代码
Aug 17 Javascript
简单实现IONIC购物车功能
Jan 10 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
Mar 06 Javascript
原生js实现form表单序列化的方法
Aug 02 Javascript
koa socket即时通讯的示例代码
Sep 07 Javascript
微信jssdk踩坑之签名错误invalid signature
May 19 Javascript
js实现淡入淡出轮播切换功能
Jan 13 #Javascript
js仿百度音乐全选操作
Jan 13 #Javascript
js实现tab选项卡切换功能
Jan 13 #Javascript
js制作可以延时消失的菜单
Jan 13 #Javascript
原生js实现下拉框功能(支持键盘事件)
Jan 13 #Javascript
js实现自动轮换选项卡
Jan 13 #Javascript
Javascript 使用ajax与C#获取文件大小实例详解
Jan 13 #Javascript
You might like
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
php 发送带附件邮件示例
2014/01/23 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
2021/03/09 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
js 未结束的字符串常量错误解决方法
2010/06/13 Javascript
百度地图api应用标注地理位置信息(js版)
2013/02/01 Javascript
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
2019/07/13 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
vue设置全局访问接口API地址操作
2020/08/14 Javascript
node.js如何根据URL返回指定的图片详解
2020/10/21 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
Python 创建子进程模块subprocess详解
2015/04/08 Python
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
2018/07/04 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
在django admin中添加自定义视图的例子
2019/07/26 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
解决 jupyter notebook 回车换两行问题
2020/04/15 Python
解决Firefox下不支持outerHTML问题代码分享
2014/06/04 HTML / CSS
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
幼儿教师个人求职信范文
2013/09/21 职场文书
市场营销专业大学生职业生涯规划文
2014/03/06 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
安全承诺书格式
2014/05/21 职场文书
小学课外阅读总结
2014/07/09 职场文书
环境日宣传活动总结
2014/07/09 职场文书
企业党支部工作总结2015
2015/05/21 职场文书