栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

js数组排序的几种方法

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

js数组排序的几种方法

谈到js数组,我们经常会想到js数组的操作方法。在众多操作方法中,对数组排序是十分重要的,数组排序有利于我们观察使用数组。本文介绍js数组最常见也是最常使用的5个方法,即1、sort方法;2、冒泡排序;3、插入排序;4、快速排序;5、选择排序。

1、sort方法

用于对数组的元素进行排序,是按照字符编码的顺序进行排序,会改变原数组的值,所以如果直接使用,可能无法达到我们想要的效果。

var arr = [6, 3, 8, 7, 1, 5, 4, 2, 9];
arr.sort(function(a, b){
	return a - b;//升序排列
	//return b - a;//降序排列
});
//结果是[1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(arr);

2、冒泡排序

先选出最大的数值,拍到数组最后面,之后再选出第二大的值排到倒数第二位,依次类推。

function bubbleSort(arr) 
    for (var max=arr.length;max>0;max--) {
        for (var i=0;iarr[i+1]){
                var maxValue = arr[i];
                arr.splice(i,0,arr[i+1]);
                arr.splice(i+2,1);
            }
        }
    }
    return arr;
}

3、插入排序

是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

var insertSort = function( arr) {
    var len = arr.length;
    var preIndex, current;
    for( var i = 1; i < len; i ++){
        preIndex = i - 1;
        current = arr[i];
        while(preIndex >= 0 && arr[preIndex] > current){
            arr[preIndex + 1] = arr[preIndex];
            preIndex --;
        }
        arr[preIndex + 1] = current;
    }
    return arr;
}

4、快速排序

首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,然后对左右部分递归。

function selectSort(array) {
var k = array.length;
for(var i=0; i

5、选择排序

每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。

var b=0//设置用来调换位置的值
var a=[1,9,33,2,5,34,23,98,14]
for(var i=0;ia[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]

以上就是js数组排序的几种常见方法,大家可以代入上述代码直接使用哦~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/14730.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号