JavaScript题目练习1

1.for循环打印九九乘法表

        var str = '';
        for (var i = 1; i <= 9; i++) {
            for (var j = 1; j <= i; j++) {
                str += j + 'x' + i + '=' + i * j + '\t';   // \t 表示tab键
            }
            str += '\n';
        }
        console.log(str);
1x1=1	
1x2=2	2x2=4	
1x3=3	2x3=6	3x3=9	
1x4=4	2x4=8	3x4=12	4x4=16	
1x5=5	2x5=10	3x5=15	4x5=20	5x5=25	
1x6=6	2x6=12	3x6=18	4x6=24	5x6=30	6x6=36	
1x7=7	2x7=14	3x7=21	4x7=28	5x7=35	6x7=42	7x7=49	
1x8=8	2x8=16	3x8=24	4x8=32	5x8=40	6x8=48	7x8=56	8x8=64	
1x9=9	2x9=18	3x9=27	4x9=36	5x9=45	6x9=54	7x9=63	8x9=72	9x9=81	

2.打印倒三角形,十行十列

☆☆☆☆☆☆☆☆☆☆
☆☆☆☆☆☆☆☆☆
☆☆☆☆☆☆☆☆
☆☆☆☆☆☆☆
☆☆☆☆☆☆
☆☆☆☆☆
☆☆☆☆
☆☆☆
☆☆
☆
        // 2.打印倒三角形,十行十列
        var str = '';
        for (var i = 1; i <= 10; i++) {
            for (var j = i;j <= 10; j++) {
                str += '☆';
            }
            str += '\n';
        }
        console.log(str);

3.运用while/ do-while循环计算1~100之间所有整数的和

        // 3.运用while循环计算1~100之间所有整数的和
        var sum = 0;
        var i = 1;
        while (i <= 100) {
            sum += i;
            i++;
        }
        console.log(sum);       // 5050
        // 运用do~while循环计算1~100之间所有整数的和
        var sum = 0;
        var i = 1;
        do {
            sum += i;
            i++;
        } while (i <= 100);
        console.log(sum);

 4.求数组中最大值    [2,4,63,54,34,6,67,35,16]

        // 4.求数组中最大值
        // [2,4,63,54,34,6,67,35,16]
        var arr = [2,4,63,54,34,6,67,35,16];
        var max = arr[0];
        for (var i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }
        console.log(max);

 5.将数组['red','green','pink','blue']转换为字符串,并用|分割

结果:red|green|pink|blue|

        // 5.将数组['red','green','pink','blue']转换为字符串,并用|分割
        var arr = ['red','green','pink','blue'];
        var str = '';
        for (var i = 0; i < arr.length; i++) {
            str += arr[i] + '|';
        }
        console.log(str);

6.数组反转['red','green','pink','blue','purple']

结果:[ "purple", "blue", "pink", "green", "red" ]

        // 6.数组反转['red','green','pink','blue','purple']
        var arr = ['red','green','pink','blue','purple'];
        var newArr = new Array();
        for (var i = arr.length - 1; i >= 0; i--) {
            newArr[newArr.length] = arr[i];
        }
        console.log(newArr);

7.交换两个变量——> 冒泡排序!!!!!

知识点回顾——数组

https://blog.csdn.net/m0_73809176/article/details/128371185

        // 7.交换两个变量
        var num1 = 10;
        var num2 = 20;
        var tem;
        tem = num1;
        num1 = num2;
        num2 = tem;
        console.log(num1,num2);      // 20 10
        // 拓展:数组排序(冒泡排序)
        // [6,2,43,3,56,16,28,34] 升序
        var arr = [6,2,43,3,56,16,28,34];
        for (var i = 1; i <= arr.length - 1; i++) {  // 外层循环趟数  8个数相邻两个数比较7趟
            for (var j = 0; j < arr.length - i; j++) {   // 里层循环管每趟交换的次数
                if (arr[j] > arr[j+1]) {
                    var tem = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = tem;
                }
            }
        }
        console.log(arr);        // [ 2, 3, 6, 16, 28, 34, 43, 56 ]

        // [6,2,43,3,56,16,28,34] 降序
        var arr1 = [6,2,43,3,56,16,28,34];
        for (var i = 1; i <= arr1.length - 1; i++) {
            for (var j = 0; j <= arr1.length - i; j++) {
                if (arr1[j] < arr1[j+1]) {
                    var tem = arr1[j];
                    arr1[j] = arr1[j+1];
                    arr1[j+1] = tem;

                }
            }
        }
        console.log(arr1);         // [ 56, 43, 34, 28, 16, 6, 3, 2 ]

8.用封装函数计算1~100累加和

        // 8.用封装函数计算1~100累加和
        function getSum() {
            var sum = 0;
            var i = 1;
            while(i <= 100) {
                sum += i;
                i++;
            }
            console.log(sum);
        }
        getSum();             // 5050

9.利用函数求任意个数的最大值(arguments的使用)

知识点回顾——函数——arguments的使用

https://blog.csdn.net/m0_73809176/article/details/128376346

        // 9.利用函数求任意个数的最大值(arguments的使用)
        function getMax() {
            var max = arguments[0];
            for (var i = 1; i < arguments.length; i++) {
                if (max < arguments[i]) {
                    max = arguments[i];
                }
            }
            return max;
        }
        console.log(getMax(3,75,4,32,67,54));   // 75

10.遍历对象!!!!!

知识点回顾——对象

JavaScript笔记6: 作用域、预解析、对象_夏天的遥遥漓曦的博客-CSDN博客

        // 10.遍历对象
        var obj = {
            name: '漓曦',
            age: 18,
            sex : '女',

        }
        for (var k in obj) {
            console.log(k);
            console.log(obj[k]);
        }

11.写一个  2023年4月4日 星期二

https://blog.csdn.net/m0_73809176/article/details/128396226  —— 日期对象

        // 11.写一个  2023年4月4日 星期二
        var date = new Date();
        // console.log(date);     // Date Tue Apr 04 2023 16:28:57 GMT+0800 (中国标准时间)
        var year = date.getFullYear();
        var month = date.getMonth() + 1;
        var dates = date.getDate();
        var day = date.getDay();
        var arr = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'];
        console.log(year + '年' + month + '月' + dates + '日' + ' ' + arr[day]); // 2023年4月4日 星期二

12.要求封装一个函数返回当前的时分秒   格式:16:35:08

        // 12.要求封装一个函数返回当前的时分秒   格式:16:35:08
        function getTime() {
            var date = new Date();
            var h = date.getHours();
            h = h < 10 ? '0' + h : h;
            var m = date.getMinutes();
            m = m < 10 ? '0' + m : m;
            var s = date.getSeconds();
            s = s < 10 ? '0' + s : s;
            return h + ':' + m + ':' + s;
        }
        console.log(getTime());

 13.倒计时案例:输入的时间减去现在的时间即剩余的时间!!!!

        // 13.倒计时案例:输入的时间减去现在的时间即剩余的时间
        function countDown(time) {
            var nowTime = +new Date;
            var inputTime = +new Date(time);
            var times = inputTime - nowTime;
            var d = parseInt(times / 1000 / 60 / 60 /24);
            d = d < 10 ? '0' + d : d;
            var h = parseInt(times / 1000 / 60 / 60 % 24);
            h = h < 10 ? '0' + h : h;
            var m = parseInt(times / 1000 / 60 % 60);
            m = m < 10 ? '0' + m : m;
            return d + '天' + h + '时' + m + '分';
        }
        console.log(countDown('2023-12-31 23:59'));           // 271天07时09分

14.数组去重['c','a','z','a','x','a','x','c','b']去除重复元素!!!!

        // 14.数组去重['c','a','z','a','x','a','x','c','b']去除重复元素
        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);       //  [ "c", "a", "z", "x", "b" ]

15.查找字符串 "acxbcofohkcvxfsxuksfdidyxsfdysdgdgdxccgxcx"中所有f出现的位置及次数;判断出现次数最多的字符并统计及其次数!!!!!

        // 15.查找字符串 "acxbcofohkcvxfsxuksfdidyxsfdysdgdgdxccgxcx"中所有f出现的位置及次数;判断出现次数最多的字符并统计及其次数
        var str = 'acxbcofohkcvxfsxuksfdidyxsfdysdgdgdxccgxcx';

        // 查找str中所有f出现的位置及次数
        var index = str.indexOf('f');
        var num = 0;
        while (index !== -1) {
            console.log(index);
            num += 1;
            index = str.indexOf('f',index + 1);
        }
        console.log(num);           // 4

        // 统计每个字符的次数
        var o = {};   // o为空对象
        for (var i = 0; i < str.length; i++) {
            var chars = str.charAt(i)
            if (o[chars]) {
                o[chars]++;       // o[chars] 得到的是属性值
            } else {   // else即o[chars]为空
                o[chars] = 1;
            }
        }
        console.log(o);          // Object { a: 1, c: 6, x: 7, b: 1, o: 2, f: 4, h: 1, k: 2, v: 1, s: 4, … }

        // 遍历对象,判断出现次数最多的字符
        var max = 0;     // 用于比较次数
        var ch = '';     // 用于装次数最多的字符
        for (var k in o) {
            // k 得到的是 属性名
            // o[k] 得到的是属性值
            if (o[k] > max) {
                max = o[k];
                ch = k;
            }
        }
        console.log(max);       // 7
        console.log('次数最多的字符是'+ch);       // x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值