javascript循环和数组的基础练习

时间:2022-03-05 15:42:38

九九乘法表

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

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

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

正向遍历数组

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

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

 <script>
var arr=[];
for (var i = 0; i <=100; i++) {
if(i%2!=0){
arr[arr.length]=i;
}
}
</script>

求一组数中的所有数的和

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

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

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

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

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

冒泡排序,从小到大

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