zoukankan      html  css  js  c++  java
  • 原生js数组去重与排序

    //数组排序 初始化
    var arr = [];
    var arr1 = [];
    var arr2 = [];
    var arr3 = [];
    var arr4 = [];
    for(var i=0 ; i< 20; i++){
    arr.push(Math.floor(Math.random()*10));
    arr1.push(Math.floor(Math.random()*10));
    arr2.push(Math.floor(Math.random()*10));
    arr3.push(Math.floor(Math.random()*10));
    arr4.push(Math.floor(Math.random()*10));
    }


    //数组去重
    console.log('==数组去重==');
    console.log(arr);
    function arrDup(ele){
    for(var i=0; i<ele.length-1; i++){
    for(var j=i+1; j<ele.length; j++){
    if(ele[i] == ele[j]){
    ele.splice(j,1);
    j--;
    }
    }
    }
    return ele;
    }
    console.log(arrDup(arr))

    //选择排序
    console.log('==选择排序==');
    console.log(arr1);
    for(var i=0; i<arr1.length; i++){
    var min = i;
    for(var j=i+1; j<arr1.length; j++){
    if(arr1[min] > arr1[j]){
    min = j;
    }
    }
    if(i != min){
    var temp = arr1[i];
    arr1[i] = arr1[min];
    arr1[min] = temp;
    }
    }
    console.log(arr1);

    //冒泡排序
    console.log('==冒泡排序==');
    console.log(arr2);
    for(var i=0; i<arr2.length-1; i++){
    for(var j=0; j<arr2.length-1-i; j++){
    if(arr2[j] > arr2[j+1]){
    var temp = arr2[j];
    arr2[j] = arr2[j+1];
    arr2[j+1] = temp;
    }
    }
    }
    console.log(arr2);

    //快速排序
    console.log('==快速排序==');
    console.log(arr3);
    function quickSort(arr){
    if(arr.length <=1){
    return arr;
    }
    var centId = Math.floor(arr.length/2);
    var cent = arr.splice(centId,1)[0];
    var left = [];
    var right = [];
    for(var i=0; i<arr.length; i++){
    if(arr[i] > cent){
    right.push(arr[i]);
    }else{
    left.push(arr[i]);
    }
    }
    return quickSort(left).concat(cent,quickSort(right));
    }
    console.log(quickSort(arr3));

    //自带排序方法
    console.log('==自带排序方法==')
    console.log(arr4);
    var sor = arr4.sort(function(a,b){
    return a - b;
    })
    console.log(sor);

    ————————————————
    版权声明:本文为CSDN博主「JackieDYH」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/JackieDYH/article/details/105798626

  • 相关阅读:
    swiper 增加一个鼠标移入分页器的小点后就切换展示图片
    css中的单冒号和双冒号 以及 伪类和伪元素
    pointer-events: none;元素永远不会成为鼠标事件的target
    jQuery off() 方法
    jQuery方法汇总
    vue 数组修改 页面无法刷新
    mysql error Code 1441:datetime function: datetime field overflow
    生命的意义
    删除镜像或容器
    nginx Redis 不能访问问题
  • 原文地址:https://www.cnblogs.com/huayang1995/p/15432595.html
Copyright © 2011-2022 走看看