js中的数组排序方法

Posted alongup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中的数组排序方法相关的知识,希望对你有一定的参考价值。

一、sort方法对数组排序

1 var abc = [4, 45, 1, 2, 5, 55, 441, 11, 11];
2 abc.sort(function(a, b) {
3    return a - b;
4  })
5 console.log(abc) //[1, 2, 4, 5, 11, 11, 45, 55, 441]
1 var abc = [4, 45, 1, 2, 5, 55, 441, 11, 11];
2 abc.sort(function(a, b) {
3     return b-a;
4 })
5 console.log(abc) //[441, 55, 45, 11, 11, 5, 4, 2, 1]

二、冒泡排序

含义:依次对数组中相邻数字进行比较(两两比较),大的放后面

 1 var arr=[1,5,4,2,10,8,8,20,15,14,12];
 2 function minArr(arr){
 3     var temp=null;  //定义一个存储元素值得存储器
 4     for(var i=0;i<arr.length;i++){
 5         for(var j=i+1;j<arr.length;j++){
 6             if(arr[i]>arr[j]){  //假设第一个元素大于第二个元素
 7                 temp=arr[i];   
 8                 arr[i]=arr[j];
 9                 arr[j]=temp;
10             }
11         }
12     }
13     console.log(arr);  //[1, 2, 4, 5, 8, 8, 10, 12, 14, 15, 20]
14 }
15     minArr(arr);

 

三、选择排序

概念:将第一位依次与后面的元素相比较,得到最小值,与第一位交换。再用第二位依次与后面元素相比较,得到最小值,与第二位交换。

从原始数据中找到最小元素,并放在数组的最前面。然后再从下面的元素中找到最小元素,放在之前最小元素的后面,直到排序完成。

 1 var arr=[1,2,5,22.2,6.63,55,4,5,3.99,99.99,5,4,11];
 2         for(let i=0;i<arr.length-1;i++){
 3             var min=arr[i];//假设第一位是最小值
 4             var minIndex=i;//再拿到最小值时的索引
 5             for(let j=i+1;j<arr.length;j++){
 6                 if(min>arr[j]){//假设失败 最小值大于了后一位的值
 7                     min=arr[j];//存储此时的最小值
 8                     minIndex=j;//存储此时最小值的索引
 9                 }
10             }
11             arr[minIndex]=arr[i];//再把第一位的数据放在第二位最小值的位置
12             arr[i]=min;//再把最小值放在第一位的位置
13         }
14         console.log(arr)

 

四、set方法

set方法不仅可以对数组排序,还可以去重

1 var arr=[1,5,4,2,10,8,8,20,15,14,12];
2                     
3 var newarr=new Set(arr);
4                     
5 console.log(newarr)

 

以上是关于js中的数组排序方法的主要内容,如果未能解决你的问题,请参考以下文章

几个关于js数组方法reduce的经典片段

js数组遍历方法总结

js中的数组与函数

js中的数组与函数

JS中的数组排序函数sort()

js中的数组对象排序(方法sort()详细介绍)