目录

一、关于变量使用

交换两个变量的值​​

二、递增运算符练习

三、分支语句判断闰年、成绩级别

四、循环题目

 求1-100之间所有整数的累加和,平均值等

打印五行五列星星

打印倒三角形

九九乘法表

简易ATM

 五、数组

 数组中的最大值

将数组转为字符串

筛选数组

翻转数组

六、函数

利用函数求数组中的最大值

冒泡排序

用户输入年份程序输出2月份天数

七、对象

利用对象封装自己的数学对象

猜数字游戏

倒计时

八、数组对象

筛选数组

数组去重

返回字符位置

查看数组中某个元素出现的位置以及个数

统计出现最多的字符和次数


一、关于变量使用

  1. 名叫cute的人去酒店前台登记入住,需要填一张表,内容包括:姓名,年龄,家庭住址,邮箱和工资,存储后需要展出以下内容:我叫cute,我今年21岁,我住在航空星球,我的邮箱是cute@qq,我工资是1000元。
  2. 交换两个变量的值

二、递增运算符练习

通过练习要掌握前置(先自加,后运算)和后置(先表达式返回原值,后自加1)的区别

三、分支语句判断闰年、成绩级别

接收用户输入的年份,如果是闰年就弹出闰年,否则弹出是平年

接收用户输入的分数,根据分数输出对应的等级字母A、B、C、D、E

其中:90分(含)及以上输出A;80分(含)-90分,输出B;70分(含)-80分,输出C;60分(含)-70分,输出D;60分及以下,输出E

四、循环题目

 求1-100之间所有整数的累加和,平均值等

打印五行五列星星

(我的输入法星星显示不出来 这里用√代替 思路一致)

打印倒三角形

 

九九乘法表

简易ATM

        /* 
        简易Atm :思路 里面存100块钱,如果存钱,就用输入钱数加上先存的钱数,之后弹出显示余额
        如果取钱,就减去去的钱数,之后弹出余额提示框
        如果显示余额,就输出余额
        如果退出 弹出退出信息提示框
        */
       var money = 100;
       while(true){    //确保不退出的情况下一直在循环
       var put =prompt('请输入您要的操作:\n 1、存钱\n 2、取钱 \n3、显示余额 \n4、退出');
       if (put == 1){
           var enter = prompt('请你输入要存入的钱数:');
           money += parseInt(enter);   //需要注意字符转换
           alert('您现在的钱数是:'+money);
       }
       if (put == 2){
           var out = prompt('请你输入要取出的钱数:');
           money -= parseInt(out);
           alert('您现在的钱数是:'+money);
       }
       if (put == 3){
           alert('您现在的余额是:'+money);
       }
       if (put == 4){
           alert('正在退出!');
           break;
       }
       }

 五、数组

 数组中的最大值

求数组[2,6,1,33,52,24,7]中的最大值

 /* 
      1、定义一个max变量存放最大值,默认最大值是第一个元素
      2、遍历这个数组,一一和max去比较 如果大于max 则交换
      */
     var arr = [2,6,1,33,52,24,7];
     var max = arr[0];
     for (var i = 0;i < arr.length;i++){
         if(arr[i] > max){
             max = arr[i];
         }
     }
     console.log(max);

将数组转为字符串

/* 
     将数组['red','green','bule','pink']转为字符串,并用*或其他符合分割
     1、定义一个str变量存放转换完的字符串
     2、遍历原来的数组,分别把里面数据取出来,加到字符串里
     3、在后面加上分隔符
     */
    var arr = ['red','green','bule','pink'];
    var str = '';
    var stp = '*';
    for (var i = 0;i < arr.length;i++){
        str += arr[i] + stp;
    }
    console.log(str);    //red*green*bule*pink*

筛选数组

/* 
    将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素选出来,放入新数组
    思路:1、声明一个新数组用于存放新数据newArr
         2、遍历原来的旧数组,找出大于等于10的元素
         3、依次追加给新数组newArr。
    */
   var arr = [2,0,6,1,77,0,52,0,25,7];
   var newArr = [];
   for (var i = 0;i < arr.length;i++){
       if (arr[i] > 10){
           newArr[newArr.length] = arr[i];  //newArr.length相当于索引号从0开始,依次递增
       }
   }
   console.log(newArr);

翻转数组

 /* 
    将数组['red','purple','green','blue','pink']的内容反过来存放
    思路:1、声明一个新数组newArr
          2、把旧数组索引号第4个(arr.length - 1)给新数组索引号第0个元素
          3、使用循环,旧数组依次递减 i--
    */
   var arr = ['red','purple','green','blue','pink'];
   var newArr = [];
   for (var i = arr.length - 1;i >= 0;i--){
       newArr[newArr.length] = arr[i];
   }
   console.log(newArr);

六、函数

利用函数求数组中的最大值

//求数组的最大值
    function getMax(arr){
           var max = arr[0];
            for(var i = 1;i < arr.length;i++){
                if (arr[i] > max){
                    max = arr[i];
                }
            }
            return max;
        }
        var re =getMax([43,22,55,24,30]); //实参很长,我们把它转换为一个变量
        console.log(re); 

冒泡排序

//利用函数冒泡排序
    function sort (arr){
        for (var i = 0;i < arr.length - 1;i++){
            for (var j = 0;j < arr.length - i - 1;j++){
                if (arr[j]>arr[j+1]){  
                     var temp = arr[j];
                     arr[j] = arr[j+1];
                     arr[j+1] = temp; 
                 }
            }
        }
        return arr;
    }
    var arr1 = sort([2,4,1,5,3]);
    var arr2 = sort([66,46,45,63,27,44]);
    console.log(arr1,arr2);

用户输入年份程序输出2月份天数

      //用户输入年份并判断是闰年吗 2月份有多少天
        function backDay(){             //backday()函数负责区别2月份天数
        var year = prompt('请你输入年份:');
        if(isRunyear(year)){             //调用isRunyear()函数
            alert('当前年份的闰年2月份有29天');
        }else{
            alert('当前年份的闰年2月份有28天');
        }
    }
    backDay();
    function isRunyear(year){             //判断是不是闰年
        var flag = false;
        if (year%4 == 0 && year%100 !=0 || year%400 == 0){
            flag = true;
        }
        return flag;
    }

七、对象

利用对象封装自己的数学对象

var myMath = {
           PI:3.141592653,
           max : function(){
               var max = arguments[0];
               for( i =1 ;i<arguments.length;i++){
                   if (arguments[i] > max){
                       max = arguments[i];
                   }
               }
               return max;
           },
           min : function(){
            var min = arguments[0];
               for( i =1 ;i<arguments.length;i++){
                   if (arguments[i] < min){
                       min = arguments[i];
                   }
               }
               return min;
           }
       }
       console.log(myMath.PI);
       console.log(myMath.max(1,4,6,7));
       console.log(myMath.min(1,4,5,6,7));

猜数字游戏

//利用函数随机生成一个1-10间的数
        function getRondom(min,max){
            return Math.floor(Math.random() * (max -min +1)) + min;
        }
        var rondom = getRondom(1,10);
        while(true){   //死循环
            var num = prompt('你来猜一个数字:');
            if (num > rondom){
                alert('你猜大了');
            }else if(num < rondom){
                alert('你猜小了');
            }else{
                alert('congratulation!');
                break;
            }
            }

倒计时

           function conutDown(time){
           var nowTime = +new Date();  //当前时间的秒数
           var inputTime = +new Date(time); //用户输入时间的毫秒数
           var times = (inputTime - nowTime) /1000; //times是剩余时间总的秒数
           var d = parseInt(times / 60 /60 /24); //天数
           d = d < 10 ? '0' + d : d;
           var h = parseInt(times / 60 /60 %24); //时
           h = h < 10 ? '0' + h : h;
           var m = parseInt(times / 60 %60); //分
           m = m < 10 ? '0' + m : m;
           var s = parseInt(times %60); //秒
           s = s < 10 ? '0' + s : s;
           return d + '天' + h + '时' + m + '分'  + s + '秒';
       }
       console.log(conutDown('2022-5-1 18:00:00'));

八、数组对象

筛选数组

 //在一个包含工资的数组【1500,1200,2000,2100,1800】,要求把数组超过2000的
      // 删除,剩余的放到新数组里面
      var arr = [1500,1200,2000,2100,1800];
      var newArr = [];
      for (var i = 0;i<arr.length;i++){
          if(arr[i]<2000){
              newArr.push(arr[i]);
          }
      }
      console.log(newArr);

数组去重

    //封装一个去重的函数
     /*
     核心算法:遍历旧数组,拿旧数组元素去查询新数组,如果该数组在新数组里
     没有出现过,我们就添加,否则不添加
     利用 新数组.indexOf(数组元素) 如果返回-1 就说明新数组里面没有改元素 
      */
     function unique(arr){
           var newArr = [];
           for (var i = 0;i<arr.length;i++){
               if (newArr.indexOf(arr[i]) === -1){
                   newArr.push(arr[i]);
               }
           }
           return newArr;
       }
       var demo = unique(['c','a','z','a','x','a','x','c','b']);
       console.log(demo);

返回字符位置

 

//查找字符串中o出现的位置和次数
       //核心算法:先找到第一个o出现的位置
       //然后利用indexOf进行循环 如果不是-1就往后查找 
       //定义一个num进行计数
       var str = 'abcoefoxyozzopp';
       var index = str.indexOf(['o']);
       var num = 0;
       while(index != -1){
           console.log(index);
           num++;
           index = str.indexOf('o',index+1);
       }
       console.log('o出现的次数为'+num);

查看数组中某个元素出现的位置以及个数

 //查看数组中某个元素出现的位置以及个数
       var arr = ['red','blue','red','green','pink','red','yellow','red','red'];
       var index = arr.indexOf('red');
       var num = 0;
       while(index != -1){
           console.log(index);
           num++;
           index = arr.indexOf('red',index+1);
       }
       console.log('red出现的次数为'+num);

统计出现最多的字符和次数

 //统计出现最多次数的字符
      //核心算法 利用charAt()遍历这个字符串
      //把每个字符都存储给对象,如果对象没有该属性,就为1,如果存在就加1
      //遍历对象 得到最大值和该字符

      var str ='abcoefoxyozzopp';
      var o ={};
      for(var i = 0;i<str.length;i++){
          var chars = str.charAt(i);
          if(o[chars]){
              o[chars]++;
          }else{
              o[chars] = 1;
          }
      }
      console.log(o);
     //遍历对象
      var max = 0;
      var ch ='';
      for (var k in o){
          if(o[k] > max){
              max = o[k];
              ch = k;
          }
      }
      console.log('最多的字符是'+ch);
      console.log(max);

更多推荐

JavaScript基础案例篇(题目附代码)