javascript数组排序方法是什么


本文摘自PHP中文网,作者青灯夜游,侵删。

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

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

js中排序方法

1、sort()方法

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

示例:

1

2

3

4

5

6

7

8

9

10

11

12

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() 方法用于颠倒数组中元素的顺序。

示例:

1

2

3

var ar1=[2,4,6,8,1,3]

ar1.reverse()//此方法为倒序,也就是反过来。并不会进行大小排序

console.log(ar1)//[3, 1, 8, 6, 4, 2]

扩展知识:

冒泡排序

1

2

3

4

5

6

7

8

9

10

11

12

13

//每轮依次比较相邻两个数的大小,后面比前面小则交换

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]

选择排序

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

//拿第一个数与后面数相比较,如果比后面的数大则交换

//拿第二个数与后面的数比较,如果比后面的数大则交换

//直到比较到倒数第二个数,最后一个数不用比较

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]

快速排序

  • 先从数列中取出一个数作为基准数

  • 分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边

  • 再对左右区间重复第二步,直到各区间只有一个数

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

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数组排序方法是什么的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

html5之javascript多线程的详解

html5多线程javascript解决方案web worker-专用worker和共享worker的详细代码介绍

javascript中的generator函数的用法介绍(附代码)

javascript中怎么将字符串转为数字

html中js是什么

深入分析ajax的进度事件(附示例)

javascript怎么删除子节点

jsp和javascript是一个东西吗

javascript怎么判断对象是否为空

javascript自定义函数的写法是什么

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...