首页 > 其他分享 >【前端教程03】for循环冒泡排序、去重、查找重复元素

【前端教程03】for循环冒泡排序、去重、查找重复元素

时间:2023-06-30 16:25:23浏览次数:38  
标签:03 教程 12 const arr 冒泡排序 let 升序


// 升序
const bubbleSort = (arr) => {
  for (let i = 0; i < arr.length; i++) {
    for (let j = 0; j < arr.length - i; j++) {
      if (arr[j] > arr[j + 1]) {
        let tmp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = tmp;
      }
    }
  }
  return arr;
}
const a = [1,3,77,22,55,12,3,55,3,12,12]
const b1 = bubbleSort(a)
console.log(b1,'升序')

// 降序
const downFun = (arr) => {
   for (let i = 0; i<arr.length; i++) {
         console.log(i)
         for (let j = 0; j<arr.length - i; j++) {
            if(arr[j] < arr[j+1]){
                const before = arr[j+1];
                arr[j+1] = arr[j]
                arr[j] = before
            }
         }
   }
   return arr
}
const b = downFun(a)
console.log(b,'降序')

// 求和
 const sum = (num) => {
    let val = 0
    for (let i =0; i<=num; i++) {
           val += i
    }
    return val
 }
 const c = sum(1000)
 console.log(c,'求和')

//  去重
const setArr = (arr) => {
   let arrNew = []
   for (let i = 0; i<arr.length; i++) {
         console.log(i)
         if(!arrNew.includes(arr[i])){
            arrNew.push(arr[i])
         } 
   }
   return arrNew
}
const d = setArr(a)
console.log(d,'去重')

// 获取数组中哪些元素有重复
const setArr2 = (arr) => {
   let arrNew = []
   let arrNew2 = []
   let obj = {}
   for (let i = 0; i<arr.length; i++) {
         console.log(i)
         if(!arrNew.includes(arr[i])){
            arrNew.push(arr[i])
         } else {
             if(!arrNew2.includes(arr[i])){
                arrNew2.push(arr[i])
             } 
         }
   }
   return arrNew2
}
const e = setArr2(a)
console.log(e,'获取数组中哪些元素有重复')

 

标签:03,教程,12,const,arr,冒泡排序,let,升序
From: https://www.cnblogs.com/xiaohuizhang/p/17517095.html

相关文章

  • 【前端教程02】js拖拽布局demo
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-equiv="X-UA-Compat......
  • Python中print(__doc__)作用的教程
      2、......
  • Java学习------Maven下载配置教程
    1.下载Maven地址:https://maven.apache.org/download.cgi  2.解压到除C盘和桌面的其他盘符下的myMaven文件夹下    3.配置右键点击我的电脑,点击属性一栏,找到高级系统设置,点击环境变量并找到path进行编辑。(和配置JDK的环境变量一致,如有不懂,前面文章中有提到配置......
  • Module not found: Error: Can't resolve ' vue-resource'
    问题:在学习vue的过程中出现了这个问题,说明VueResource模块没有安装。解决方法:打开终端,进入当前项目所在目录,输入指令npminstallvue-resource--save然后等待安装,安装好了以后在main.js中引用(下图红色框中代码) ......
  • python 报错AttributeError: '_TestResult' object has no attribute 'outputBuffer'
    报错信息: 原因:使用setupclass必须加@classmethod装饰器 解决方案:在setupclass和teardownclass方法前面加@classmethod ......
  • Vue3 vite:is a JavaScript file. Did you mean to enable the 'allowJs' option?
    描述今天在vue3+vite下进行打包时,突然vscode报了一个error。 大概的意识是询问是否启用“allowJS”选项,因为该文件在程序内是指定用于编译的根文件。提示信息已经很明确了,下面从网上摘抄了下什么是allowJS选项。allowJs是1.8中新提供的选项。TypeScrip......
  • Cubieboard A10 安装Nand系统,配置nginx,php,mysql,samba详细教程
    安装前置条件1.下载win32diskimager-v0.7-binary.zip2.下载debian_wheezy_armhf_v1_mele.zip3.下载cubie_nand_uboot_partition_image.zip4.下载FlashFXP.zip5.下载PanasonicSDFormatter.zip6.下载puttyfile_0.62cn.zip以上文件下载地址:http://pan.baidu.com/s/1i3Ke8gH ......
  • 软件测试|web自动化测试神器playwright教程(十七)
    前言上篇文章我们介绍了使用playwright下载文件的方法,本篇文章我们将介绍使用playwright上传文件。上传文件是我们经常需要面对的场景,如果我们使用的是selenium,那我们的操作会比较复杂,因为有的文件上传是input控件,有些是需要我们直接传文件地址,一旦弹出文件选择框的话,selenium就无......
  • 软件测试|web自动化测试神器playwright教程(二十)
    前言我们都知道,selenium可以实现Chrome浏览器的复用,绕过登录步骤,实现cookie的复用,playwright同样也可以实现该功能。环境设置我们在使用selenium进行浏览器复用时,需要提前将Chrome浏览器配置到我们的环境变量中,具体步骤如下:找到Chrome浏览器的安装路径,如下图:将'C:\ProgramFiles(x......
  • 软件测试|web自动化测试神器playwright教程(二十一)
    前言我们在日常工作和生活中,经常会遇到滑块的情况,如下图所示:淘宝的网页登录,在我们输入完账号密码后,需要按住滑块,并且滑动至最右边,才可以登录。这是最为常见的滑块安全验证机制,当然也对我们的自动化工作造成了部分的困扰,在selenium中,我们可以通过滑动滑块来解决这个问题,而playwright......