【前端教程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 @ 2023-06-30 16:11  JeckHui  阅读(76)  评论(0)    收藏  举报