把数组里面的数重大到小排序

news/2024/7/19 14:48:19 标签: 排序算法, js

两次遍历数组把两个数组进行比较,如果第二次遍历的数组比第一次遍历的数大,就把原数组的值替换成第二次遍历的值,也就是每一次循环都把当前循环的数替换成第二次遍历的数组中最大的数,也就是第一次遍历的时候每次都把第二次遍历的最大的取走

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    
</style>
<body>
</body>
<div class="div">
 <input type="color">
</div>
</html>
<script>
 const arr=[9,5,9,6,3,8,2,4,7,6,2,1,50,523,53,4654,2323,46,32,35]
 var max
 for(i in arr){
     for(a in arr){
         //分为两种情况,一种是通过遍历之后arr[i]已经是当前最大的了(也就是排序好了的),不需要排序
         //另一种情况是arr[i]还是没有排序过的,
         //那么就需要把arr[i]变成当前最大的(跟没有排序好的元素做比较)
        //  思路:有点像冒泡排序,把一第一次遍历的数组与第二次遍历的数组
        //  进行比较,如果第一次的数组比第二次遍历的数组小
        //  那么就把第二次遍历的数组值赋值给第一次遍历的数组在进行比较知道选出最大的哪一个位置
         if(arr[i]<arr[a]){
            max=arr[a]//每次记录一个当前大的值 max=5
            arr[a]=arr[i]//目的是跳出循环,不然arr里面就都是最大的数,让当前这个索引
            //替换第二次遍历数组的最大值,避免下次再进行比较
            arr[i]=max//让arr[i]等于这个当前大的值来对下面进行比较 1=5
         }
     }
 }
 console.log(arr);
</script>

在这里插入图片描述


http://www.niftyadmin.cn/n/1371525.html

相关文章

手写深拷贝

//这个函数的参数就是要进行的深拷贝内容 function deepClone(obj){ // 判断他是不是对象也就是基本数据类型&#xff0c;基本数据类型纯再栈空间 //不存在深浅拷贝问题 //主力object是字符串&#xff0c;并且o小写 if(typeof obj !object||objnull){return obj } let res //…

js实现冒泡排序

function bubbleSort(arr){let temp;//这个遍历确定的四遍历的轮数//轮数是元素的个数减一&#xff0c;因为是两两比较&#xff0c;最后两个元素只要比较一次就行了for(let i0;i<arr.length-1;i){//这次遍历是每轮元素进行比较&#xff0c;每一轮遍历之后最后的元素就是最大…

js实现快速排序

function quickSort(arr){if(arr.length<1){return arr}let left[]let right[]let currentarr.splice(0,1)for(item of arr){if(item<current){left.push(item)}else{right.push(item)}}// 连接数组return quickSort(left).concat(current,quickSort(right)) }

原型链js

什么是原型 每个函数和类都有一个显式原型prototype&#xff0c;里面存放一些公用的属性和方法&#xff0c;这些方法和属性&#xff0c;每一个实例都能访问到。而且每一个实例的对象都有一个隐式的原型__proto__&#xff0c;对象的隐式原型都指向构造这个对象的函数或类的显式…

arry的原型链

中间插了一个arr

完善项目使用vue3setup,收藏页面,获取当前页面商品信息传递给vuex

像父组件传递点击事件&#xff08;产品信息在父组件里面&#xff0c;但是点击事件在子组件里面&#xff0c;所以需要把这个点击事件传出去&#xff09; 父组件接收 在vuex里面定义方法写逻辑和用于接收传过来的参数

完善项目,点击收藏出现弹窗

许多地方都用到了弹窗所以应该把弹窗设置为l一个组件&#xff0c;组件里面显示的内容和是否显示都应该动态传入 可是添加商品内容的方法都在vuex里面&#xff0c;如果要判断此商品是否在收藏的数组里面也需要在vuex里面&#xff0c;所以需要从vuex里面给detail组件传值&#xf…