js 各种算法

作者: 贵贵贵子 | 来源:发表于2021-12-17 17:49 被阅读0次

数组排序

冒泡排序

 let arr = [1, 33, 33, 1, 2,1 , 57,33];
    console.log([...new Set(arr)])
    let orderArr = [];
    function Fun(arr) {
      const len = arr.length;
      for (let i = 0; i < len - 1; i++) {
          for(let j=0; j < len -1 -i;j++){
              let temp = arr[j]
              if(arr[j]>arr[j+1]){
                arr[j]=arr[j+1]
                arr[j+1]=temp
              }
          }
      }
      return arr
    }

选择排序(跟冒泡排序的思维有点像,只是一直跟最后一个比,这样一轮下来,就排完序了。)

var arr = [1,2,3,5,4,7,6];
    for(var j = 0, l = arr.length; j < l; j++){
        for(k = l; k > j; k--){
            if(arr[j] > arr[k]){
                var temp = arr[j];
                arr[j] = arr[k];
                arr[k] = temp;
            }
        }
    }
    console.log(arr); //[1,2,3,4,5,6,7]  

数组去重

首先是最简单实现的(Set)

let arr = [1, 33, 33, 1, 2,1, 57,33];
console.log([...new Set(arr)])// [1, 33, 2, 57]

双重for循环

  var arr = [1, 5, 6, 0, 7, 3, 0, 5, 9, 5, 5];
    function unique(arr) {
      for (var i = 0, len = arr.length; i < len; i++) {
        for (var j = i + 1, len = arr.length; j < len; j++) {
          if (arr[i] === arr[j]) {
            arr.splice(j, 1);
            j--; // 每删除一个数j的值就要减1
            len--; // j值减小时len也要相应减1(减少循环次数,节省性能)
          }
        }
      }
      return arr;
    }

indexOf

var arr = [1, 2, 3 , 3, 2, 3, 3, 3];
    function unique(arr) {
      var arr1 = []; // 新建一个数组来存放arr中的值
      for (var i = 0, len = arr.length; i < len; i++) {
        if (arr1.indexOf(arr[i]) === -1) {
          arr1.push(arr[i]);
        }
      }
      return arr1;
    }
    console.log(unique(arr)); // [1,2,3]

相关文章

  • js 各种算法

    数组排序 冒泡排序 选择排序(跟冒泡排序的思维有点像,只是一直跟最后一个比,这样一轮下来,就排完序了。) 数组去重...

  • 各种排序算法js实现

    插入法排序

  • crypto-js与php aes加密传输

    CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。目前已支持的算法包括...

  • js冒泡排序

    在js的学习中,总会遇到各种各样的算法,今天来详解下js的冒泡排序。 大致原理: 循环整个数组,如果前面的...

  • js基本搜索算法实现与170万条数据下的性能测试

    前言 今天让我们来继续聊一聊js算法,通过接下来的讲解,我们可以了解到搜索算法的基本实现以及各种实现方法的性能,进...

  • 排序算法

    JS里排序算法的写法:

  • js统计对象的层数

    js算法统计对象的层数

  • 各种RL算法

    1. RL算法的分类 在现代RL空间中绘制精确的,无所不包的算法分类法真的很难,因为算法的模块性没有用树结构很好地...

  • 各种排序算法

    1.冒泡排序 1.有多少趟2.每趟向前产生一个最大数 2.插入排序 1.顺序遍历每个数字2.每遍历一个数字,就向前...

  • 各种算法记录

    摘录地址:http://www.csuldw.com/2015/07/22/2015-07-22%20%20ens...

网友评论

    本文标题:js 各种算法

    本文链接:https://www.haomeiwen.com/subject/cywifrtx.html