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


// 升序
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,'获取数组中哪些元素有重复')

 

posted @   JeckHui  阅读(62)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2022-06-30 【vue开发】富文本编辑器vue-ueditor-wrap
2020-06-30 【vue创建项目】创建一个ts项目包含sass
点击右上角即可分享
微信分享提示