• 技术文章 >web前端 >js教程

    javascript数组排序方法是什么

    青灯夜游青灯夜游2021-06-07 17:27:50原创167

    javascript排序方法:1、sort()方法,用于对数组的元素进行排序,语法“arrayObject.sort(sortby)”;2、reverse()方法,用于颠倒数组中元素的顺序,即倒序,语法“array.reverse()”。

    本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

    js中排序方法

    1、sort()方法

    sort() 方法用于对数组的元素进行排序。

    示例:

    var ar1=[2,4,6,8,1,3]
    var ar2=[2,16,36,8,56]
    ar1.sort()
    ar2.sort()//这个方法值只能排序第一位数  也可以字符串进行排序
    console.log(ar1)//[1,2,3,4,6,8]
    console.log(ar2)//[16, 2, 36, 56, 8]
    
    ar2.sort(function(a,b){
        return a-b //a-b为升序
        //return b-a  //b-a为降序
    })
    console.log(ar2)//[2, 8, 16, 36, 56]

    2、reverse()方法

    reverse() 方法用于颠倒数组中元素的顺序。

    示例:

    var ar1=[2,4,6,8,1,3]
    ar1.reverse()//此方法为倒序,也就是反过来。并不会进行大小排序
    console.log(ar1)//[3, 1, 8, 6, 4, 2]

    扩展知识:

    冒泡排序

    //每轮依次比较相邻两个数的大小,后面比前面小则交换
    var b=0//设置用来调换位置的值
    var a=[1,9,33,2,5,34,23,98,14]//冒泡排序
    for(var i=0;i<a.length;i++){
        for(var j=0;j<a.length;j++){
            if(a[j]>a[j+1]){
                b=a[j]
                a[j]=a[j+1]
                a[j+1]=b
            }
        }
    }
    console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]

    选择排序

    //拿第一个数与后面数相比较,如果比后面的数大则交换
    //拿第二个数与后面的数比较,如果比后面的数大则交换
    //直到比较到倒数第二个数,最后一个数不用比较
    var b=0//设置用来调换位置的值
    var a=[1,9,33,2,5,34,23,98,14]//冒泡排序
    for(var i=0;i<a.length;i++){
        for(var j=i;j<a.length;j++){
            if(a[j]>a[j+1]){
                b=a[j]
                a[j]=a[j+1]
                a[j+1]=b
            }
        }
    }
    console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]

    快速排序

    function quickSort(arr, i, j) {
      if(i < j) {
        let left = i;
        let right = j;
        let mid = Math.floor((left+right)/2);
        let temp = arr[left];
        arr[left] = arr[mid];
        arr[mid] = temp;
        let pivot = arr[left];
        while(i < j) {
          while(arr[j] >= pivot && i < j) {  // 从后往前找比基准小的数
            j--;
          }
          if(i < j) {
            arr[i++] = arr[j];
          }
          while(arr[i] <= pivot && i < j) {  // 从前往后找比基准大的数
            i++;
          }
          if(i < j) {
            arr[j--] = arr[i];
          }
        }
        arr[i] = pivot;
        quickSort(arr, left, i-1);
        quickSort(arr, i+1, right);
        return arr;
      }
    }

    更多编程相关知识,请访问:编程视频!!

    以上就是javascript数组排序方法是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:javascript 数组排序
    上一篇:javascript实现异步的方法有哪些 下一篇:javascript print方法怎么用
    第16期线上培训班

    相关文章推荐

    • javascript怎么删除html• 浅谈JavaScript中的事件委托• 一文了解JavaScript中合并和克隆对象的方法• javascript内置对象的常用方法有哪些• javascript怎么判断是否是json格式

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网