• JS一些简单的问题


     
    冒泡排序
    1
    <script> 2 //冒泡排序:把一组数据按照从大到小,或者从小到大的进行一定的排序 3 //从小到大排序 4 var num=[10,2,58,3,56,4,12]; 5 //比较轮数 6 for(var i=0;i<num.length-1;i++){ 7 //比较次数 8 for(var j=0;j<num.length-1-i;j++){ 9 if(num[j]>num[j+1]){ 10 var temp=num[j]; 11 num[j]=num[j+1]; 12 num[j+1]=temp; 13 } 14 } 15 } 16 console.log(num);//[2, 3, 4, 10, 12, 56, 58] 17 18 //从大到小排序 19 var num=[10,2,58,3,56,4,12]; 20 //比较轮数 21 for(var i=0;i<num.length-1;i++){ 22 //比较次数 23 for(var j=0;j<num.length-1-i;j++){ 24 if(num[j]<num[j+1]){ 25 var temp=num[j]; 26 num[j]=num[j+1]; 27 num[j+1]=temp; 28 } 29 } 30 } 31 console.log(num);//[58, 56, 12, 10, 4, 3, 2] 32 33 </script>
    for循环 
    1
    <script> 2 //1.在页面中打印长方形和三角形 3 4 //控制行数打印长方形 5 for(var j=0;j<5;j++){ 6 //一行有多少个---控制每一行的个数 7 for(var i=0;i<5;i++){ 8 document.write("★"); 9 } 10 document.write("<br />"); 11 } 12 //打印三角形 13 for(var i=0;i<5;i++){//控制行数 14 for(var j=0;j<i;j++){//控制个数 15 document.write("★"); 16 } 17 document.write("<br />"); 18 } 19 20 //2.在页面中打印乘法口诀表 21 //长方形 22 for(var i=1;i<=9;i++){ 23 for(var j=1;j<=9;j++){ 24 document.write(j+"*"+i+"="+i*j+"&nbsp;&nbsp;"); 25 } 26 document.write("<br />"); 27 } 28 //三角形 29 for(var i=1;i<=9;i++){ 30 for(var j=1;j<=i;j++){ 31 document.write(j+"*"+i+"="+i*j+"&nbsp;&nbsp;"); 32 } 33 document.write("<br />"); 34 } 35 36 37 //用表格 38 document.write("<table border='1'>"); 39 for(var i=1;i<=9;i++){ 40 document.write("<tr>"); 41 for(var j=1;j<=i;j++){ 42 document.write("<td>"); 43 document.write(j+"*"+i+"="+i*j+"&nbsp;"); 44 document.write("</td>"); 45 } 46 document.write("</tr>"); 47 } 48 document.write("</table>"); 49 //用表格不加表框 50 document.write("<table border='0'>"); 51 for(var i=1;i<=9;i++){ 52 document.write("<tr>"); 53 for(var j=1;j<=i;j++){ 54 document.write("<td>"); 55 document.write(j+"*"+i+"="+i*j+"&nbsp;"); 56 document.write("</td>"); 57 } 58 document.write("</tr>"); 59 } 60 document.write("</table>"); 61 62 63 //计算出1-100之间所有不能被3整除的整数的和大于或等于2000的数 64 var sum=0; 65 for(var i=1;i<=100;i++){ 66 if(i%3!=0){ 67 sum+=i; 68 } 69 if(sum>=2000){ 70 console.log(i+"和是:"+sum); 71 break; 72 } 73 } 74 </script> 75 <script> 76 //1.在页面中打印长方形和三角形 77 78 //控制行数打印长方形 79 for(var j=0;j<5;j++){ 80 //一行有多少个---控制每一行的个数 81 for(var i=0;i<5;i++){ 82 document.write("★"); 83 } 84 document.write("<br />"); 85 } 86 //打印三角形 87 for(var i=0;i<5;i++){//控制行数 88 for(var j=0;j<i;j++){//控制个数 89 document.write("★"); 90 } 91 document.write("<br />"); 92 } 93 94 //2.在页面中打印乘法口诀表 95 //长方形 96 for(var i=1;i<=9;i++){ 97 for(var j=1;j<=9;j++){ 98 document.write(j+"*"+i+"="+i*j+"&nbsp;&nbsp;"); 99 } 100 document.write("<br />"); 101 } 102 //三角形 103 for(var i=1;i<=9;i++){ 104 for(var j=1;j<=i;j++){ 105 document.write(j+"*"+i+"="+i*j+"&nbsp;&nbsp;"); 106 } 107 document.write("<br />"); 108 } 109 110 111 //用表格 112 document.write("<table border='1'>"); 113 for(var i=1;i<=9;i++){ 114 document.write("<tr>"); 115 for(var j=1;j<=i;j++){ 116 document.write("<td>"); 117 document.write(j+"*"+i+"="+i*j+"&nbsp;"); 118 document.write("</td>"); 119 } 120 document.write("</tr>"); 121 } 122 document.write("</table>"); 123 //用表格不加表框 124 document.write("<table border='0'>"); 125 for(var i=1;i<=9;i++){ 126 document.write("<tr>"); 127 for(var j=1;j<=i;j++){ 128 document.write("<td>"); 129 document.write(j+"*"+i+"="+i*j+"&nbsp;"); 130 document.write("</td>"); 131 } 132 document.write("</tr>"); 133 } 134 document.write("</table>"); 135 136 137 //计算出1-100之间所有不能被3整除的整数的和大于或等于2000的数 138 var sum=0; 139 for(var i=1;i<=100;i++){ 140 if(i%3!=0){ 141 sum+=i; 142 } 143 if(sum>=2000){ 144 console.log(i+"和是:"+sum); 145 break; 146 } 147 } 148 </script>
    数组 
    1
    <script> 2 /* 3 * 数组:一组数据的组合 4 * 数组的作用:可以一次性存储多个数据(类型可以相同也可以不同) 5 * 6 * 数组的元素:数组中存储的每个数据 7 * 如何获取数组的元素的值 8 * 如何设置数组的元素的值 9 * 通过索引(下标)的方式来设置和获取数组中元素的值 10 * 11 * 12 * 数组如何定义: 13 * var 变量名=[];字面量的方式来定义数组 14 * 数组定义的方式两种(三种) 15 * var 变量=[];字面量方式定义数组 16 * var 变量=new Array();构造函数定义数组 17 * var 变量=new Array(数字);数字代表的是数组的元素的个数 18 * 数组的长度:就是数组的元素的个数 19 * 20 * JS中数组中所有元素的值都可以直接输出(其他语言中数组的元素的值都是要通过循环遍历一个一个的显示,js中也可以这样) 21 * 22 * 23 * 24 * 注意:JS中数组的长度是可变的 25 * 数组的元素如果直接输出,那么每个元素(每个值)都是由逗号隔开 26 * 27 * 28 * 数组中索引是0开始的,到元素的个数(数组的长度)减1 29 * 30 * 31 * */ 32 //构造函数定义数组 33 var arr=new Array(); 34 console.log(arr);//Array[0] 35 36 var arr=new Array(5);//该数组中可以存储5个值 37 console.log(arr);//Array[5] // length: 5 38 39 //字面量的方式定义数组 40 var arr=[10,20,30,40,50];//数组的长度为5,有5个数组元素 41 console.log(arr);//[10, 20, 30, 40, 50] 42 43 //字面量的方式初始化变量 44 var num=10; 45 var str=""; 46 var arr=[]; 47 48 49 //数组中的数组元素想要获取,通过索引 50 //取值叫获取,赋值叫设置 51 var arr=[10,20,30,50,60]; 52 var num=arr[3]; 53 console.log(num);//50 这种方式叫做设置 54 55 var arr=[10,20,30,50,60]; 56 console.log(arr[3]);//50 这种方式叫做获取 57 58 59 60 //一些练习 61 var arr=[10,20,30,40,50]; 62 arr[5]=100; 63 console.log(arr.length);//6 64 for(var i=0;i<5;i++){ 65 console.log(arr[i]); 66 }//10 20 30 40 50 100 67 68 69 70 var arr=new Array(1); 71 arr[0]=10; 72 arr[1]=30; 73 console.log(arr.length); //2 74 75 76 //验证一下是不是可以一次性存储很多种类型 77 var arr=["你好,背景",45,null,undefined]; 78 console.log(arr);//["你好,背景", 45, null, undefined] 79 80 //数组的长度:数组名.length 81 //数组元素获取:数组名[索引] 82 var arr=[1,2,3,4,5]; 83 for(var i=0;i<arr.length;i++){ 84 console.log(arr[i]);//1 2 3 4 5 85 } 86 </script>
      1 <script>
      2     //1.求数组中的和,平均值,最大值,最小值
      3     //第一种方法
      4     var arr=[10,20,30,40,50];
      5     var sum=0;//求和
      6     var avg=0;//平均值
      7     var min=Number.MAX_VALUE;//假设是最小的值,里面存储的值最小的
      8     var max=Number.MIN_VALUE;//假设是最大的值,里面存储的值最大的
      9     for(var i=0;i<arr.length;i++){
     10         sum+=arr[i];
     11         if(max<arr[i]){//求最大值
     12             max=arr[i];
     13         }
     14         //为什么不用else if ,因为有相等的情况
     15         if(min>arr[i]){//求最小值
     16             min=arr[i];
     17         }
     18     }
     19     console.log("最大的值是"+max+",最小的值是"+min+",平均值是"+sum/arr.length+",和为"+sum);//最大的值是50,最小的值是10,平均值是30,和为150
     20 
     21 
     22     //第二中方法
     23     var arr=[10,20,30,40,50];
     24     var sum=0;//求和
     25     var avg=0;//平均值
     26     var max=arr[0];
     27     var min=arr[0];
     28     for(var i=0;i<arr.length;i++){
     29         sum+=arr[i];
     30         if(max<arr[i]){//求最大值
     31             max=arr[i];
     32         }
     33         //为什么不用else if ,因为有相等的情况
     34         if(min>arr[i]){//求最小值
     35             min=arr[i];
     36         }
     37     }
     38     console.log("最大的值是"+max+",最小的值是"+min+",平均值是"+sum/arr.length+",和为"+sum);//最大的值是50,最小的值是10,平均值是30,和为150
     39 
     40 
     41     //2.将数组的每个字符串元素用”|”竖线的方式隔开,并输出
     42     //第一种方法,最简单的方法,不建议初学者使用
     43     var userName=["同志1","同志2","同志3","同志4"];
     44     console.log(userName.join("|"));//同志1|同志2|同志3|同志4
     45 
     46     //第二种方法
     47     var userName=["同志1","同志2","同志3","同志4"];
     48     var str="";//用来存储最终的字符串
     49     for(var i=0;i<userName.length;i++){
     50         str+=userName[i]+"|";
     51     }
     52     console.log(str);//同志1|同志2|同志3|同志4|
     53     //第二种方法有点不符合要求,现在稍微修改一下
     54     //修改后的方案
     55     var userName=["同志1","同志2","同志3","同志4"];
     56     var str="";//用来存储最终的字符串
     57     for(var i=0;i<userName.length-1;i++){
     58         str+=userName[i]+"|";
     59     }
     60     console.log(str+userName[userName.length-1]);//同志1|同志2|同志3|同志4
     61 
     62     //3.去掉数组中的0,产生新数组。
     63     var nums=[10,0,50,4,0,2,0,1,0];
     64     var newArr=[];//新数组用来存储不是0的数字
     65     for(var i=0;i<nums.length;i++){
     66         if(nums[i]!=0){
     67             newArr[newArr.length]=nums[i];
     68         }
     69     }
     70     console.log(newArr);//[10, 50, 4, 2, 1]
     71 
     72     //联系一下.length的用法
     73     var arr=[];
     74     console.log(arr.length);// 0
     75     arr[arr.length]=100;
     76     console.log(arr.length);// 1
     77 
     78     //4.实现反转数组
     79     //第一种方法,比较简单
     80     var num=[10,11,12,13,14];
     81     for(var i=num.length-1;i>=0;i--){
     82         console.log(num[i]);//14  13  12  11  10
     83     }
     84     //第二种方法,借助第三方变量
     85     var num=[10,11,12,13,14];
     86     for(var i=0;i<num.length/2;i++){
     87         var temp=num[i];
     88         num[i]=num[num.length-1-i];
     89         num[num.length-1-i]=temp;
     90     }
     91     console.log(num);//[14, 13, 12, 11, 10]
     92 
     93     //第三种方法,也是借助第三方变量
     94     var i= 0;
     95     var arr=[10,11,12,13,14];
     96     var arrNew=[];
     97     for(i=0;i<arr.length;i++){
     98         arrNew[i]=arr[arr.length-1-i];
     99     }
    100     console.log(arrNew);//[14, 13, 12, 11, 10]
    101 
    102 
    103     //5.根据输入班级人数依次输入每个人成绩,求总成绩和平均值,及最终输入完毕后显示出每个学生的成绩
    104     var pers=parseInt(prompt("请输入你们班的总人数:"));
    105     var scores=[];//存储每个人的成绩
    106     var sum=0;//存储总和
    107     for(var i=0;i<pers;i++){
    108         scores[scores.length]=parseInt(prompt("请您输入第"+(i+1)+"个同学的英语成绩"));
    109         sum+=scores[i];
    110     }
    111     for(var i=0;i<scores.length;i++){
    112         console.log("第"+(i+1)+"个学生的成绩是"+scores[i]);
    113     }
    114     console.log("总成绩是"+sum+",平均成绩是"+sum/scores.length);
    115 
    116 
    117     //6.随即生成10个1-100内的非重复数字放入数组中。
    118     var arr=[];//存储随机数的数组
    119     while(true){
    120         var num=parseInt(Math.random()*100+1);//1-100之间的随机数
    121         if(arr.indexOf(num)==-1){//判断数组中有没有这个数字
    122             arr[arr.length]=num;//把随机数存储到数组中
    123         }
    124         if(arr.length==10){//随机产生10个数
    125             break;
    126         }
    127     }
    128     console.log(arr);
    129 
    130     //练习.indexOf()方法
    131     var arr=[10,9,8,7];
    132     var result=arr.indexOf(100);
    133     console.log(result);//-1
    134     var result=arr.indexOf(7);
    135     console.log(result);//3  如果存在会显示其下标位置
    136 
    137 
    138 
    139     //7.求一个工资数组中,员工的最高工资、最低工资、平均工资
    140     var employee=[1000,5000,48611,82,100,55211,2566];
    141     var sum=0;
    142     var avg=0;
    143     var max=employee[0];
    144     var min=employee[0];
    145     for(var i=0;i<employee.length;i++){
    146         sum+=employee[i];//求和
    147         if(max<employee[i]){//求最大值
    148             max=employee[i];
    149         }
    150         if(min>employee[i]){//求最小值
    151             min=employee[i];
    152         }
    153     }
    154     console.log("员工的最高工资是"+max+",最低工资是"+min+",平均值是"+sum/employee.length);//员工的最高工资是55211,最低工资是82,平均值是16081.42857142857
    155 
    156 
    157     //8两个数组{ “a”,“b”,“c”,“d”,“e”}和{ “d”, “e”, “f”, “g”, “h” },把这两个数组去除重复项合并成一个。
    158     var txts1=["a","b","c","d","e"];
    159     var txts2=["c","d","e","f","g","h"];
    160     for(var i=0;i<txts1.length;i++){
    161         if(txts2.indexOf(txts1[i])==-1){
    162             txts2[txts2.length]=txts1[i];
    163         }
    164     }
    165     console.log(txts2);//["c", "d", "e", "f", "g", "h", "a", "b"]
    166 </script>
    判断一个正整数是几位数 
    1
    <script> 2 //提示用户输入整数:正整数 3 var num=parseInt(prompt("请您输入一个正整数:")); 4 if(num){ 5 var i=1;//默认是一位数 6 for(;num>=10;i++){ 7 num=num/10; 8 } 9 console.log("这个数字是"+i+"位数"); 10 }else if(num==0){ 11 console.log("是一位数") 12 }else{ 13 console.log("您输入有误"); 14 } 15 </script>
  • 相关阅读:
    蓝桥杯 奇怪的比赛
    历届试题 古堡算式
    PAT 甲级 1040 Longest Symmetric String (25 分)(字符串最长对称字串,遍历)
    PAT 甲级 1039 Course List for Student (25 分)(字符串哈希,优先队列,没想到是哈希)*...
    PAT 甲级 1038 Recover the Smallest Number (30 分)(思维题,贪心)
    PAT 甲级 1037 Magic Coupon (25 分) (较简单,贪心)
    那不是Bug,是新需求
    看看C# 6.0中那些语法糖都干了些什么(上篇)
    eclipse工具的使用心得
    送给那些刚进公司工作滴童鞋
  • 原文地址:https://www.cnblogs.com/azhemiao/p/6557352.html
Copyright © 2020-2023  润新知