Math内置函数

这篇博客探讨了JavaScript ES6中Math内置函数的使用,特别是在统计随机次数和开发前端工具函数时的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 <!-- 
        Math数学对象
          => 处理数学问题
          => var arr = new Array()
             var arr = [10,20]
             
          => 使用方式: Math.方法名()

var randNum = Math.random() //0-1之间随机数

        // console.log('randNum :',randNum)
        // console.log('randNum :' + randNum)
        // console.log(`randNum :${randNum}`)

        var num = 98.6
        console.log('parseInt(num) :', parseInt(num) ); //取整

        console.log( 'Math.ceil(num) : ', Math.ceil(num) );//向上取

        console.log( 'Math.floor(num) : ', Math.floor(num) );//向下取
         
        console.log( 'Math.round(num) : ', Math.round(num) );//四舍五入

        var num1 = -98
        console.log( 'Math.abs(num1) : ', Math.abs(num1) );//取绝对值

        console.log('Math.max() :', Math.max(89,79,99));

统计随机次数

 生成10000个随机数0~10,统计每个随机数出现次数
        分析:  Math.random()  0-1 不包含1
             1. 0~10随机数  
               => Math.random() * 10    0.11  -> 1.1
                                        0.98  -> 9.8
             var randNum = Math.floor( Math.random() * 10 )

             2. for(var i = 0; i<10000; i++){
                   var randNum = Math.floor( Math.random() * 10 )
                }

            3. 随机数:  2,3,2,2,3,6,9,3 ....
                       { 
                        2: 300
                        3: 3676
                        6: 1555
                        9: 144
                        属性:值
                        随机数: 次数
                       }

               3.1 计数器对象
                   var numObj = {

                   }

                   var randNum = 2
                   // 判断计数器对象有没有此随机数,如果没有,放到对象中,值赋值给1
                                                       有, 值加一
                   if(numObj[randNum]){
                       //已经存在
                        numObj[randNum]++
                   }else{
                      //不存在
                       numObj[randNum] = 1  
                   }

function getRandomNum() {
            var numObj = {} //计数器对象
            for (var i = 0; i < 10000; i++) {
                var randNum = Math.floor(Math.random() * 10) // 0~10

                //判断计数器对象有没有此随机数,如果没有,放到对象中,值赋值给1,如果有, 值加一
                if (numObj[randNum]) {
                    //已经存在
                    numObj[randNum]++
                } else {
                    //不存在
                    numObj[randNum] = 1
                }
            }

            for(var key in numObj){
                console.log(`${key} : ${numObj[key]}`);
            }
        }

工具函数

<!-- 
        生成指定范围随机数 m~n之间的随机数
          分析: 
             Math.random()  0~1  不包含1

              0~1     Math.random()
              0~10    Math.random() * (10-0)  + 0
              10~20   Math.random() * (20-10) + 10
              30~50   Math.random() * (50-30) + 30
              m~n     Math.random() * (n-m) + m
             
     -->


var list = ['罗天佑', '邱坤', '张扬', '过道', '姚辛茹', '郭杰', '陈红钊', '周雷', '过道', '曹路梅', '查先春',
            '王欣', '赵移町', '杨倩', '李鑫', '胡天', '廖维康', '张禧辰', '葛云阳', '龙媛媛', '罗巧',
            '詹家豪', '何旭婵', '蒋海', '王君辰', '简梦蝶', '周鸣鑫', '杨子健', '郑荣庆', '范林芝', '韩青龙',
            '许鹏', '罗锐', '汪杰', '何军', '肖治平', '文凯伦', '顾杰', '赵康杰', '潘胜文',
            '莫如涛', '周琼', '罗铭强', '黄淋', '宋川', '席玉婷', '衡宣臣', '吴生', '陈鑫荣',
            '刘渔东', '袁瑞松', '张希猛', '杨毅', '雷雪靖', '刘茂', '张琪',
            '王彩霞', '岑芳芳', '陈洪', '彭建鹏', '梁周', '吕瑶', '邓洪琴',
            '谭淞元', '田浩然', '何流', '杨程洁', '黄龙'
        ]



            // function fn(x,y){
            //     var m = Math.max(x,y)
            //     var n = Math.min(x,y)
            //     return Math.floor(Math.random() * (m - n) + n)
            // }
            // var zhi = fn(0,list.length)
            // console.log(list[zhi])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值