JS 练习题(持续更新)

JS 练习题

1.排序数组(封装函数)

        var arr = [91, 65, 6, 8, 7, 54, 32, 12];

        // sort排序
        function fun(str) {
            str.sort(function(a, b) {
                return a - b;
            })
            console.log(arr);
        }
        fun(arr)


        //冒泡排序
        function fun(str) {
            for (var i = 0; i < str.length; i++) {
                for (var j = 0; j < str.length; j++) {
                    if (str[j] < str[j + 1]) {
                        [str[j], str[j + 1]] = [str[j + 1], str[j]]
                    }

                }
            }
            console.log(str);
        }
        fun(arr)

   2.随机生成4位验证码,大写字母小写字母及数字可供随机选择(比如:nG3p)

        var arr = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789';

        for (var i = 1; i <= 4; i++) {

            console.log(arr[parseInt(Math.random() * arr.length + 1)]);

        }

  3.获取设定时间之差,例如:09天01时10分12秒

       

        var date = new Date();

        var newday = new Date('2024-10-01 00:00:00');

        var time = newday.valueOf() - date.valueOf();

        var day = parseInt(time / 1000 / 60 / 60 / 24);

        var shi = parseInt(time / 1000 / 60 / 60 % 60);

        var fen = parseInt(time / 1000 / 60 % 60);

        var miao = parseInt(time / 1000 % 60)

        function fun(a) {

            if (a < 10) {

                a = '0' + a

            }

            return a;

        }

        console.log(fun(day) + '天' + fun(shi) + '时' + fun(fen) + '分' + fun(miao) + '秒');

 4.随机输入0-10之间的数,猜数字(猜大了,猜小了,猜对了)

        var a = Number(prompt('请输入一个数'));

        var b = parseInt(Math.random() * 10 + 1)

        console.log(b);

        for (var i = 1; i <= 10; i++) {

            if (a > b) {

                console.log('猜大了');

            } else if (a < b) {

                console.log('猜小了');

            } else if (a == b) {

                console.log('猜对了');

                break;

            }

        }

  5.输入一个数来判断奇数和偶数

     

  var num = Number(prompt("请输入一个数"))
     
         //执行是可以直接打印,不用创建变量接受也可以
        var str = num % 2 == 0 ? '是偶数' : '不是偶数';

        console.log(str);

   6.输入一个三位正整数来判断水仙花数

   

 var shu = Number(prompt('请输入一个三位数'))

 var a = parseInt(shu / 100) ** 3 + parseInt(shu % 100 / 10) ** 3 + (shu % 10) ** 3       
         == shu ? '是水仙花数' : '不是水仙花数';

        console.log(a);

   7.判断输入年份是不是闰年

   

    var yer = Number(prompt("请输入一个数"));

        if (yer % 4 == 0 && yer % 100 != 0) {

            console.log('闰年');

        } else if (yer % 400 == 0) {

            console.log('超级闰年');

        } else {

            console.log('不是闰年');
        }

       

     8. 用户购买商品,三个商品中有一个超过50元,或者总价超过100元,即可以打八五折,否则不打折,输出最终商品价格

   

         //a商品的的价格

        var a = Number(prompt("请输入一个数"));

         //b商品的的价格

        var b = Number(prompt("请输入一个数"));

         //c商品的的价格

        var c = Number(prompt("请输入一个数"));

        if (a > 50 || b > 50 || c > 50 || a + b + c > 100) {

            console.log((a + b + c) * 0.85);

        } else {

            console.log(a + b + c);

        }

 9. 工资所得税工资超过1000的部分需要缴纳个人所得税(税率0.05),根据用户输入的工资,输出税后工资

        var gongzi = Number(prompt("请输入一个数"));

        if (gongzi > 1000) {

            console.log(gongzi - (gongzi - 1000) * 0.05);

        } else {

            console.log('你不配');

        }

    10.用户输入一个数字,然后判断这个数字能否被5、6整除

    var chu = Number(prompt("请输入一个数"));

        if (chu % 5 == 0 && chu % 6 == 0) {

            console.log('五六通吃');

        } else if (chu % 5 == 0) {

            console.log('五吃');

        } else if (chu % 6 == 0) {

            console.log('六吃');

        } else {

            console.log('都不吃');

        }

11.找出1~1000之中,所有能被5整除,或者被6整除的数字。在控制台输出。

       for (var i = 1; i <= 1000; i++) {

            if (i % 5 == 0 || i % 6 == 0) {

                console.log(i);

            }

        }

        12.用户输入一个数字,列出所有它能够整除的数字。

       var chu = Number(prompt("请输入一个数"));

        for (var i = 1; i <= chu; i++) {

            if (chu % i == 0) {

                console.log(i);

            }

        }

        13.求1~100的和

  var num = 0;

        for (var i = 0; i <= 100; i++) {

            num += i

        }

        console.log(num);

        14.求阶乘

        var jie = Number(prompt("请输入一个数"));

        var num = 1;

        for (var i = 1; i <= jie; i++) {

            // num *= i;

            num = num * i;

        }

        console.log(num);

        15.判断质数

  var zhi = Number(prompt("请输入一个数"));

        var sum = 0;

        for (var i = 1; i <= zhi; i++) {

            if (zhi % i == 0) {

                sum++;

            }

        }

        if (sum == 2) {

            console.log('是质数');

        } else {

            console.log('不是质数');

        }

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值