javascript循环和数组的基础练习

时间:2022-12-30 11:39:20

九九乘法表

 1 <script>
2 //外层循环行数
3 for(var i=0; i<=9; i++){
4 //内曾循环控制每一行的列数
5 for(var j=0;j<=i; j++){
6 document.write(j + "×" + i + "=" + i*j + " ");
7 }
8 document.write("<br>");
9 }
10 </script>

 

任意输入一个整数,求它的位数。

 1 <script>
2 //prompt输入得到的是字符串类型的,parseInt可以把字符串转换为数字,取到的结果为整数,小数部分得不到。
3 var num=parseInt(prompt("请输入一个数"));
4    if(isNaN(num)==false){
5   var a=1;
6   while(num>=10){
7         num=parseInt(num/10);
8         a++;
9      }
10      console.log(a);
11    }
12 </script>

 

 正向遍历数组

1 <script>
2 var arr=[1,2,3,4,5];
3 for (var i = 0; i <arr.length; i++) {
4 console.log(arr[i]);
5 }
6 </script>

 

将1-100中所有奇数放到数组中

1 <script>
2 var arr=[];
3 for (var i = 0; i <=100; i++) {
4 if(i%2!=0){
5 arr[arr.length]=i;
6 }
7 }
8 </script>

 

求一组数中的所有数的和

1 <script>
2 var arr=[1,2,3,4,5];
3 var sum=0;
4 var a;
5 for (var i = 0; i < arr.length; i++) {
6 sum=sum+arr[i];
7 }
8 console.log(sum);
9 </script>

 

求一组数中的最小值及其索引值

 1 <script>
2 var arr = [4, 7, 9, 2, 6, 3, 1, 0];
3 //假设一个最小值,保存在minValue中
4 var minValue = arr[0];
5 var minIndex = 0;
6 for (var i = 1; i < arr.length; i++) {
7 //用minValue跟每一项去比较,如果当前项更小,我们要更新minValue
8 if (minValue > arr[i]) {
9 //说明有值比minValue小
10 minValue = arr[i];
11 //由于i为索引,我们在对minValue更新的同时记录i的值
12 minIndex = i;
13 }
14 }
15 console.log(minValue);
16 console.log(minIndex);
17 </script>

 

要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组

 1 <script>
2 var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
3 //第一步,先声明一个结果数组
4 var resultArr = [];
5 //第二步遍历arr
6 for (var i = 0; i < arr.length; i++) {
7 //arr[i]就是arr中的每一项,我们将不为0 的放到resultArr中
8 if (arr[i] == 0) {
9 continue;
10 }
11 //走到这的都不是0
12 resultArr[resultArr.length] = arr[i];
13 }
14 console.log(resultArr);
15 </script>

 

冒泡排序,从小到大

 1 <script>
2 var arr=[5,7,3,6,2,8];
3 //声明一个变量,记录比较的趟数
4 var count=0;
5 //比较的次数为arr.length-1
6 for(var i=0;i<arr.length-1;i++){
7 count=0;
8 //外层循环控制趟数,执行多少次就是比了多少趟
9 //在每一趟开始的时候,我假排序已经完毕了
10 for(var j=0;j<arr.lenght-i-1;j++){
11 //每一趟执行的次数,在每一次比较中唯一需要做的是比大小
12 if(arr[j]>arr[j+1]){
13 //交换两个变量的值,需要中转变量
14 var temp=arr[j];
15 arr[j]=arr[j+1];
16 arr[j+1]=temp;
17 //只要有任何一趟比较,完全没有进入if,说明排序已经完成了,我们就可以跳出
18 //如果进入了这个if,说明比了一次,让计数加1
19 count++;
20 }
21 }
22 //判断一下每一趟交换的次数,如果没发生交换,count为0,说明排序结束,我们可以跳出
23 if(count===0){
24 break;
25 }
26 }
27 </script>