JavaScript程序设计训练 Day6

1、输入十个数,并用冒泡排序将其进行排序。

    <script>
        var arr=[];
        for(var i=0;i<10;i++){
            arr[i]=parseInt(prompt("请输入第"+(i+1)+"个数"));
        }
        document.write("排序前:"+arr);
        for(var i=0;i<10-1;i++){
            for(var j=0;j<10-i-1;j++){
                if(arr[j]>arr[j+1]){
                  var t=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=t;  
                }               
            }
        }
        document.write("排序后:"+arr);
    </script>

2、创建一个MyDate类,并给此类创建实例方法一和方法二,方法一点击按钮即可弹出提示框显示当前年月日时分秒星期,方法二点击按钮在页面上显示当前年月日时分秒星期,且都是每行显示一个变量。

    <script>
        function MyDate(){
            var d=new Date();
            this.Year=d.getFullYear();
            this.Month=d.getMonth()+1;
            this.day=d.getDate();
            this.Hour=d.getHours();
            this.Minute=d.getMinutes();
            this.Second=d.getSeconds();
            this.WeekDay=d.getDay();
        }
        
        var week=["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];
        MyDate.prototype.f01=function(){
            alert(this.Year+"年\n"+this.Month+"月\n"+this.day+"日\n"+this.Hour+"时\n"+this.Minute+"分\n"
            +this.Second+"秒\n"+week[this.WeekDay]+"\n");
        }
        MyDate.prototype.f02=function(){
            var str=document.getElementById("p2");
            str.innerHTML=this.Year+"年<br>"+this.Month+"月<br>"+this.day+"日<br>"+this.Hour+"时<br>"
            +this.Minute+"分<br>"+this.Second+"秒<br>"+week[this.WeekDay];
        }
        function ff(n){
            var obj=new MyDate();
            if(n==1)
                obj.f01();
            else
                obj.f02();
        }
    </script>
</head>
<body>
    <p id="p2"></p>
    <input type="button" value="方法一" onclick="ff(1)">
    <input type="button" value="方法二" onclick="ff(2)">
</body>

3、创建一个存放10000个1~100以内的随机数数组,并输出计算每个数出现了多少次。

    <script>
        var arr=new Array();
        function getrand(){
            var i=Math.ceil(Math.random()*100);
            return i;
        }
        function countarr(){
            var count=new Array(101);
            for(var j=1;j<=100;j++)
                count[j]=0;
            for(j=0;j<10000;j++)
            {
                arr[j]=getrand();
                count[arr[j]]++;
            }
            for(j=1;j<=100;j++){
                document.write(j+"->"+count[j]+"&nbsp;&nbsp;");
                if(j%10==0)
                    document.write("<br>");
            }
        }
        countarr();
    </script>

4、输出10个用逗号分隔的字符,并对其进行字典排序,再用10个字典排序后的颜色单词改变其颜色,在段落标签里显示。

    <p id="p1"></p>
    <script>       
        var color=['Navy','BlueViolet','Crimson','Brown','Indigo','OrangeRed','Maroon','DarkRed','DeepPink','ForestGreen'];
        color=color.sort();
        var arr=[];
        var colorstr=prompt("输入一串字符并用逗号分隔:");
        arr=colorstr.split(',');
        arr=arr.sort();
        var str="";
        
        for(var i=0;i<10;i++){          
            str=arr[i]; 
            str=str.fontcolor(color[i]);          
            //document.write(str+"<br>");
            document.getElementById("p1").innerHTML+=str+"<br>";
        }       
    </script>

注意这里script在body里面,因为js是从上往下执行的,要加载出来p标签之后,才加载script里的内容。

5、在输入框内输入一串字符,再输入一串要查找的字符,点击按钮查找,在段落里显示“在某某字符串中找到了某某字符串,某某字符串出现了多少次,如果没找到即输出在某某字符串中没找到某某字符串。

    <script>
        function search(){
            var txt1=document.getElementById("inputTxt").value; //输入的字符串
            var txt2=document.getElementById("searchTxt").value; //要查找的字符串
            var flag=0;
            for(var i=0;i<txt2.length;i++){  //小字符串遍历大字符串
                for(var j=0;j<txt1.length;j++){
                    if(txt2.charAt(i)===txt1.charAt(j)){
                        flag=1;
                        continue;
                    }                   
                }               
            }
            var count=0,str1=txt1;
            
            //法一
            var index=str1.indexOf(txt2);
            while(index>-1){          //如果要检索的字符串值没有出现,则该方法返回 -1    
                index=str1.indexOf(txt2,index+1);
                count++;
            }   

            //法二
            // while(str1.indexOf(txt2)!=-1){  //这里不能是>=1,因为如果第一次就出现目标字符,indexOf返回的是0
            //     str1=str1.replace(txt2,""); //删掉出现过的字符串,进行下一次寻找计数
            //     count++;
            // }   

            if(flag)
                document.getElementById("searchResult").innerHTML="在\""+txt1+"\"字符串中找到了<font color='red'>"+txt2+"</font>字符串,"
                +txt2+"出现了"+count+"次";
            else
                document.getElementById("searchResult").innerHTML="在\""+txt1+"\"字符串中没找到<font color='red'>"+txt2+"</font>字符串";               
        }      
    </script>
</head>
<body>
    <p>请输入一段字符串:<input type="text" id="inputTxt"></p>
    <p>请输入要搜索的字符串:<input type="text" id="searchTxt"></p>
    <br><br><input type="button" value="查找" onclick="search()">
    <p id="searchResult"></p>
</body>

在这里插入图片描述

6、筛选数组中大于等于10的元素

在这里插入图片描述

    <script>
        var arr=[22,33,10,8,2,3,4,6,9,45];
        var newarr=[];
        for(var i=0;i<arr.length;i++){
            if(arr[i]>=10){
                newarr[newarr.length]=arr[i];
            }
        }
        document.write(newarr);
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值