阿哲喵

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>

 

posted on 2017-03-15 23:11  阿哲喵  阅读(132)  评论(0编辑  收藏  举报

导航