zoukankan      html  css  js  c++  java
  • 常用算法1--数组中取不重复的值 和 求最大最小值

    1 示例:随机出四位验证码,数字或字母,或组合,大小写都可以,但四个不能重复

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>验证码1</title>
    </head>
    <body>
    <p>需求:随机出四位验证码,数字或字母,或组合,大小写都可以,但四个不能重复</p>
    	
    <script>
    var code=[];    //待选字符
    var newCode=[]; //四位验证码
    
    //存入0-9数字
    for(var i=0; i<=9; i++){
    	code[i]=i;
    }
    
    //存入小写26个字母
    for(var i=0; i<26; i++){
    	code.push(String.fromCharCode(97+i));
    }
    
    //存入大写26个字母
    for(var i=0; i<26; i++){
    	code.push(String.fromCharCode(65+i));
    }
    
    for(var i=0; i<4; i++){
    	var n=parseInt(Math.random()*code.length);	//随机产生一个数
    	
    	var same=false; //定义一个用来判断是否存在的变量
    	
    	//判断随机取出的是否已经存在了
    	for(var j=0; j<newCode.length; j++){
    		if(newCode[j]==code[n]){
    			same=true;
    			break;
    		}
    	}
    	
    	if(!same){
    		newCode.push(code[n]); //不存在就存入
    	} else{
    		i--;                   //存在,就回退一次
    	}
    }
    
    alert('验证码为:'+newCode.join('')); //数组拼接成字符串
    
    </script>
    
    </body>
    </html>
    

    关键:

    定义一个用来判断是否存在的变量,如果为false,才存入新数组;如果为true,刚回退一次循环。

    判断一个元素是否在数组里,不能在循环里面写,要在外面写。因为没有结束,判断的不是整体。

    2 还是取不重复,用indexOf的方法:

    示例:随机出四位验证码,数字或字母,或组合,大小写都可以,但四个不能重复

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>验证码2</title>
    </head>
    <body>
    <p>需求:随机出四位验证码,数字或字母,或组合,大小写都可以,但四个不能重复</p>
    	
    <script>
    var code=[];    //待选字符
    var newCode=[]; //四位验证码
    
    //存入0-9数字
    for(var i=0; i<=9; i++){
    	code[i]=i;
    }
    
    //存入小写26个字母
    for(var i=0; i<26; i++){
    	code.push(String.fromCharCode(97+i)); //使用ASCII码
    }
    
    //存入大写26个字母
    for(var i=0; i<26; i++){
    	code.push(String.fromCharCode(65+i));
    }
    
    for(var i=0; i<4; i++){
    	var n=parseInt(Math.random()*code.length);	//随机产生一个数
    	
    	//用indexOf判断,如果是-1说明不存在
    	if(newCode.indexOf(code[n])==-1){
    		newCode.push(code[n]);
    	} else{
    		i--; 
    	}	
    }
    
    alert('验证码为:'+newCode.join('')); //数组拼接成字符串
    
    </script>
    
    </body>
    </html>
    

    3 求最大值和最小值

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>求最大最小值</title>
    </head>
    <body>
    	
    <script>
    var arr=[]; //定义一个数组
    var num=5;	//数组的长度
    
    for(var i=0; i<num; i++){
    	arr[i]= +prompt('请输入第'+(i+1)+'个数,共有'+num+'个'); //转化成数值,不然后面没法求和
    }
    
    var max=arr[0],	//定义最大值
    	min=arr[0];	//定义最小值
    
    var sum=0; //求和
    for(var i=0; i<arr.length; i++){
    	if(max<arr[i]){
    		max=arr[i];
    	}
    	
    	if(min>arr[i]){
    		min=arr[i];
    	}
    	sum=sum+arr[i];
    }
    
    alert('最大值为:'+max);
    alert('最小值为:'+min);
    alert('和为:'+sum);
    
    </script>
    
    </body>
    </html>  
  • 相关阅读:
    subprocess 子进程模块
    3.5 魔法方法
    ThinkPHP中,display和assign用法详解
    linux常用指令
    退出当前Mysql使用的db_name 的方式
    PHP中GD库是做什么用的? PHP GD库介绍11111111
    include跟include_once 以及跟require的区别
    全局变量跟局部变量
    关于define
    创建、删除索引---高级部分
  • 原文地址:https://www.cnblogs.com/hzhjxx/p/9681260.html
Copyright © 2011-2022 走看看