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程序设计有所帮助。

相关文章

  • JavaScript使用canvas实现手写签名功能

    JavaScript使用canvas实现手写签名功能

    最近遇到一个h5手写签名的需求,按理说这种功能网上随便一搜一大把现成的源码和组件,但是像这种比较经典又很简单的功能,还是要弄清楚到底怎么实现的,所以接下来本文就给大家介绍一下如何用canvas实现手写签名功能
    2023-08-08
  • Android中Okhttp3实现上传多张图片同时传递参数

    Android中Okhttp3实现上传多张图片同时传递参数

    本篇文章主要介绍了Android中Okhttp3实现上传多张图片同时传递参数 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 在微信小程序中使用vant的方法

    在微信小程序中使用vant的方法

    这篇文章主要介绍了在微信小程序中使用vant的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用小程序具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • js判断iframe内的网页是否滚动到底部触发事件

    js判断iframe内的网页是否滚动到底部触发事件

    这篇文章主要介绍了js判断iframe内的网页是否滚动到底部触发事件,需要的朋友可以参考下
    2014-03-03
  • 支持移动端原生js轮播图

    支持移动端原生js轮播图

    这篇文章主要介绍了支持移动端原生js轮播图的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • javascript的switch用法注意事项分析

    javascript的switch用法注意事项分析

    这篇文章主要介绍了javascript的switch用法注意事项,实例分析了switch语句进行判定的原理与使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • JS实现点击发送验证码 xx秒后重新发送功能

    JS实现点击发送验证码 xx秒后重新发送功能

    在一些注册类的网站,经常遇到这样的需求,点击发送验证码,xx秒后重新发送,这样的功能怎么实现呢,接下来通过本文给大家分享js点击发送验证码 xx秒后重新发送功能,需要的朋友参考下吧
    2019-07-07
  • js ie非ie浏览器的几种判断方法小结

    js ie非ie浏览器的几种判断方法小结

    其实有很多判断的方法,大都是根据浏览器的特性来的,这里简单的整理下,需要的朋友可以参考下。
    2010-05-05
  • 一个符号插入器 中用到的js代码

    一个符号插入器 中用到的js代码

    一个符号插入器 中用到的js代码...
    2007-09-09
  • 详谈$.data()的用法和作用

    详谈$.data()的用法和作用

    下面小编就为大家带来一篇详谈$.data()的用法和作用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论