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 相关文章推荐
JS动态创建Table,Tr,Td并赋值的具体实现
Jul 05 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
Dec 24 Javascript
js二维数组定义和初始化的三种方法总结
Mar 03 Javascript
windows8.1+iis8.5下安装node.js开发环境
Dec 12 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
Jul 28 Javascript
node.js版本管理工具n无效的原理和解决方法
Nov 24 Javascript
轻松理解JavaScript之AJAX
Mar 15 Javascript
json前后端数据交互相关代码
Sep 19 Javascript
移动端如何用下拉刷新的方式实现上拉加载
Dec 10 Javascript
Vue使用Proxy监听所有接口状态的方法实现
Jun 07 Javascript
JavaScript中的this妙用实例分析
May 09 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
Nov 24 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 生成文字png图片的代码
2011/04/17 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
2008/08/14 Javascript
如何让div span等元素能响应键盘事件操作指南
2012/11/13 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
python实现的防DDoS脚本
2011/02/08 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
python+django快速实现文件上传
2016/10/24 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
Python实现最常见加密方式详解
2019/07/13 Python
django settings.py 配置文件及介绍
2019/07/15 Python
一行Python代码制作动态二维码的实现
2019/09/09 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
numpy实现神经网络反向传播算法的步骤
2019/12/24 Python
Python实现手绘图效果实例分享
2020/07/22 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
2020/10/27 Python
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
HTML5 Canvas像素处理使用接口介绍
2012/12/02 HTML / CSS
计算机本科生自荐信
2013/10/15 职场文书
传播学专业毕业生自荐信
2013/11/04 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
2015年先进个人自荐书
2015/03/24 职场文书
志愿者服务宣传标语口号
2015/12/26 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
4种非常实用的python内置数据结构
2021/04/28 Python
AJAX实现省市县三级联动效果
2021/10/16 Javascript