javascript循环和数组的基础练习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript循环和数组的基础练习相关的知识,希望对你有一定的参考价值。

九九乘法表

 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>

 

以上是关于javascript循环和数组的基础练习的主要内容,如果未能解决你的问题,请参考以下文章

Java基础--关于分支循环数组的部分练习题及详解

学习笔记JavaScript基础

Go基础2

Go基础2

Go基础2

javascript的一些基础练习题