浅谈JavaScript内置对象常见案例

一、猜数字(Math.random())

得到一个两数之间的随机整数 ,包括两个数在内,如果你的随机结果需要同时包含最小值和最大值,怎么办呢?  这样定义函数可以实现。

    <script>
        function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min;
        }
        var random = getRandom(1, 10);
        while (true) {
            var number = prompt('猜数字1-10:');
            if (number > random) {
                alert('大了');
            } else if (number < random) {
                alert('小了')
            } else {
                alert('对了数字是:' + random)
                break;
            }
        }
    </script>

二、时间倒计时 (+new Date())

使用 +new Date( )返回一个13位的当前时间的时间戳,再将用户输入的时间转换成时间戳,两者相减。就能得出剩余的时间。计算出时间差。

    <script>
        function countDown(time) {
            var nowTime = +new Date();
            var inputTime = +new Date(time);
            var times = (inputTime - nowTime) / 1000;
            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(countDown('2021-12-8 11:45:00'));
        var date = new Date();
        console.log(date);
    </script>

三、筛选数组(push())

push( )在数组末尾添加一个或多个数组元素使用push()属性可以将符合条件的元素,追加到指定的数组的末尾。

(1)push是可以给数组追加新的元素
(2)push()参数直接写数组元素就可以了
(3)push完毕之后,返回的结果是新数组的长度
(4)原数组也会发生变化

 

    <script>
        var arr = [1500, 1200, 2000, 2100, 1800];
        var newArray = [];
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] < 2000) {
                newArray.push(arr[i]);
            }
        }
        console.log(newArray);
    </script>

四、数组去重(indexOf)

indexOf( )数组中查找给定元素的第一个索引,不存在则返回-1,以下代码判断如果返回-1了,就说明没有该元素,就会在新数组newArr[ ]添加该元素。达到去重的目的。

    <script>
        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', 'b']);
        console.log(demo);
    </script>

五、返回字符的位置

使用indexOf( )获取第一次出现“o”的位置,再使用while循环,输出获取的位置,接着每次循环都index+1,下次循环就会从上一次出现的位置之后继续查找剩余'o',直到所有的'o'循环完成。

    <script>
        var str = 'abcoefnocnoaadno';
        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);
    </script>

六、判断字符串出现最多的字符并统计次数

定义一个'o'对象保存字符和统计的次数,使用charAt() 方法从一个字符串中返回指定的字符。当i为0时,chars=’a‘,对象o[chars]没有该字符,创建并保存o[’a‘]=1得到a:1,继续循环如果o对象存在'a'则o['a']++得到a:2,达到统计目的。

    <script>
        var str = 'abcdefcdscbcxzcs';
        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(max);
        console.log('最多的字符是' + ch);
    </script>

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>