JavaScript数学对象Math练习题

发现Math数学运算的题挺难找的,前前后后找了好久都找不出来,零零散散找了一些,自己练练顺便整合整合

目录

一、生成指定的随机数

二、随机十六进制颜色

三、点击按钮,随机给div添加一个颜色

四、实现数组最大值与最小值

五、计算整数 12345 的每个位数上的和,且向上取整

六、输入一个数,如果是负数,则输出绝对值,如果是小数,则四舍五入,如果是整数,则求其3次幂

七、在一个已经排序好的数组中插入一个新数组,并对该数组进行排序


一、生成指定的随机数

    <script>
        //1、封装一个随机数函数
        function getRandom(Min, Max) {
            return Math.floor(Math.random() * (Max - Min + 1)) + Min
        }
        //2、获取指定随机数:1 - 10
        const random = getRandom(1, 10)
        console.log(random)
    </script>

优化

        //1、封装一个随机数函数
        const getRandom = (Min, Max) => Math.floor(Math.random() * (Max - Min + 1)) + Min

        //2、获取指定随机数:1 - 10
        const random = getRandom(1, 10)
        console.log(random)

二、随机十六进制颜色

    <script>
        const color = () => {
            let color = '#' //十六进制颜色由 # 开头
            //十六进制分别从0-15,用一个数组进行声明
            const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F']
            //然后要获取到数组中随机的一个数,但是,十六进制色是由一个# 和6个数组成,所以要循环六次
            for (let i = 0; i < 6; i++) {
                //把随机获取到的数添加给color
                const random = Math.floor(Math.random() * 15) + 1
                color += arr[random]
            }
            return color
        }
        //调用
        console.log(color())
    </script>

三、点击按钮,随机给div添加一个颜色

沿用十六进制的函数

1、HTML和CSS

    <style>
        div {
            width: 200px;
            height: 200px;
        }
    </style>
    ----HTML ----
    <div></div>
    <button>随机变色</button>

2、JS部分

        //1、封装了十六进制随机数
        const color = () => {
            let color = '#' //十六进制颜色由 # 开头
            //十六进制分别从0-15,用一个数组进行声明
            const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F']
            //然后要获取到数组中随机的一个数,但是,十六进制色是由一个# 和6个数组成,所以要循环六次
            for (let i = 0; i < 6; i++) {
                //把随机获取到的数添加给color
                const random = Math.floor(Math.random() * 15) + 1
                color += arr[random]
            }
            return color
        }
        //2、给按钮绑定事件,并给div添加style样式
        document.querySelector('button').addEventListener('click', () => {
            document.querySelector('div').style.backgroundColor = color()
        })

3、效果

四、实现数组最大值与最小值

    <script>
        const arr = [1, 3, 5, 7, 9, 11, 2, 4, 6, 8, 10]
        //求出最大值
        console.log(Math.max(...arr))
        //求出最小值
        console.log(Math.min(...arr))
    </script>

五、计算整数 12345 的每个位数上的和,且向上取整

        const num = 12345
        //获取到个位数、十位数、百位数、千位数、万位数
        const a = num % 10
        const b = num / 10 % 10
        const c = num / 100 % 10
        const d = num / 1000 % 10
        const e = num / 10000 % 10 //分别获取
        //使用Math.ceil()方法实现向上取整
        console.log(Math.ceil(a + b + c + d + e))

六、输入一个数,如果是负数,则输出绝对值,如果是小数,则四舍五入,如果是整数,则求其3次幂

    <script>
        let num = +prompt('请输入一个数:') //注意 +号,接收回来一个数字型变量

        //如果是负数,就求绝对值: Math.abs()用于求绝对值
        if (num <= 0) console.log(Math.abs(num))

        //如果是小数,则四舍五入
        //小数是不能被1取余为0的,Math.round()方法用于四舍五入
        if (num % 1 != 0) {
            console.log(Math.round(num))
        } else {
            //如果是整数,就求出三次幂
            console.log(Math.pow(num, 3))
        }

    </script>

七、在一个已经排序好的数组中插入一个新数组,并对该数组进行排序

    <script>
        const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        const arr2 = [1, 6, 3, 12, 8, 4, 7, 9, 13, 17, 24]
        //使用 展开运算符... 合并两个数组
        const newArr = [...arr1, ...arr2]
        console.log(newArr) //合并成一个新数组
        //通过: Arrays.sort()对数组进行升序

        console.log(newArr.sort(function (a, b) {
            return a - b
        }
        ));
    </script>

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长风沛雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值