码迷,mamicode.com
首页 > 编程语言 > 详细

js中的数组排序方法

时间:2018-03-20 10:41:55      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:最小值   pre   含义   console   概念   冒泡   turn   数组   比较   

一、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中的数组排序方法

标签:最小值   pre   含义   console   概念   冒泡   turn   数组   比较   

原文地址:https://www.cnblogs.com/alongup/p/8607424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!