JS数组排序方法实例分析

 更新时间:2016年12月16日 08:42:26   作者:鬼畜十三  
这篇文章主要介绍了JS数组排序方法,结合实例形式分析了javascript数组冒泡排序与选择排序原理及实现技巧,需要的朋友可以参考下

本文实例讲述了JS数组排序方法。分享给大家供大家参考,具体如下:

方法一.冒泡排序

思路:依次比较数组中的第一个元素和第二个元素,如果第一个元素大于第二个元素,则交换位置,所以需要两个函数:交换位置函数和比较函数

比较轮数为数组长度

var arr=[2,58,49,26,34];
function change(f,s){
  var temp=arr[f];
  arr[f]=arr[s];
  arr[s]=temp;
}
for(var i=0;i<arr.length;i++){
  for(var j=0;j<arr.length-1;j++){
    if(arr[j]>arr[j+1]){
      change(j,+j+1);
    }
  }
}
alert(arr);

方法二.选择排序

从数组中找到最小值,扔到数组第一位,然后从剩下数组中循环操作

var arr=[2,58,49,26,34];
function change(){
  if(arr.length==1){
    return arr;
  }
  var iMin=arr[0];
  var index=0;
  for(var i=0;i<arr.length;i++){
    if(arr[i]<iMin){
      iMin=arr[i];
      index=i;
    }
  }
  var prev=arr.splice(index,1);
  return prev.concat(change(arr));
}
alert(change(arr));

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结

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

相关文章

  • countUp.js实现数字滚动效果

    countUp.js实现数字滚动效果

    这篇文章主要为大家详细介绍了countUp.js实现数字滚动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • HTA版JSMin(省略修饰语若干)基于javascript语言编写

    HTA版JSMin(省略修饰语若干)基于javascript语言编写

    JSMin是一种很有用的ECMAScript代码减肥工具,虽然它只是一种较为初级的工具,但用它来对付我自己编写的大部分ECMAScript代码效果都很不错,而且在我这里也从未发生过减肥后代码出错之类的问题。
    2009-12-12
  • 详解JavaScript模块化开发

    详解JavaScript模块化开发

    一个模块就是实现特定功能的文件,有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。模块开发需要遵循一定的规范,否则就都乱套了
    2016-12-12
  • getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现

    getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现

    天在csdn上看到有人问 getElementsByTagName 和 selectNodes谁更快 ,这个还真没研究过。
    2010-02-02
  • 检测一个函数是否是JavaScript原生函数的小技巧

    检测一个函数是否是JavaScript原生函数的小技巧

    这篇文章主要介绍了检测一个函数是否是JavaScript原生函数的小技巧,本文给出了两种检测方法,需要的朋友可以参考下
    2015-03-03
  • javascript中闭包(Closure)详解

    javascript中闭包(Closure)详解

    闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。小编之前一直糊里糊涂的,没有能够弄明白JavaScript的闭包到底是什么,有什么用,本文把自己的理解些出来分享一下,希望不理解JavaScript闭包的朋友们看了之后能够理解闭包!
    2016-01-01
  • js 实现获取name 相同的页面元素并循环遍历的方法

    js 实现获取name 相同的页面元素并循环遍历的方法

    下面小编就为大家带来一篇js 实现获取name 相同的页面元素并循环遍历的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • JQuery+DIV自定义滚动条样式的具体实现

    JQuery+DIV自定义滚动条样式的具体实现

    用DIV和DIV自身的滚动条相互控制内容的滚动,DIV自身的滚动条样式可以用DIV层覆盖,重写滚动条样式
    2013-06-06
  • javascript中一些数组常用的API总结

    javascript中一些数组常用的API总结

    Js中数组是一个重要的数据结构,它相比于字符串有更多的方法,本篇文章总结了一些数组中常用的API,我们把它们分成两类,一类是会改变原始数组,一类是不会改变原始数组,感兴趣的小伙伴可以学习一下
    2023-09-09
  • 基于JS代码实现图片在页面中旋转效果

    基于JS代码实现图片在页面中旋转效果

    这篇文章主要介绍了基于JS代码实现图片在页面中旋转效果 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06

最新评论