这篇文章主要介绍“js数组排序的方法有哪些及怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“js数组排序的方法有哪些及怎么使用”文章能帮助大家解决问题。
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;i<max;i++) { if(arr[i]>arr[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<k-1; i++) { var minIndex = i; for(var j=i+1; j<k; j++) { if(array[j] < array[minIndex]) { minIndex = j; } } var temp = array[i]; array[i] = array[minIndex]; array[minIndex] = temp; } return array; }
5、选择排序
每一趟从待排序的数据元素中选出最小(或)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
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]
关于“js数组排序的方法有哪些及怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。