• 原生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

  • 相关阅读:
    BAT脚本批量调用Sql执行文件 (SqlServer 数据库)
    树莓派系统刻录到首次登陆等问题
    数据库视图的使用
    MQ配置安装
    PLSQL集合类型
    PLSQL-包函数存储过程
    Oracle 字段拆分替换在合并成一条
    ORACLE-EXP和IMP方法介绍
    javascript几个月前的时间
    返回顶部实现方式
  • 原文地址:https://www.cnblogs.com/huayang1995/p/15432595.html
Copyright © 2020-2023  润新知