学习笔记——JS Math对象

常见的Math函数的方法

算术计算

  • Math.sqrt(): 计算平方根
  • Math.cbrt(): 计算立方根
  • Math.pow(a,b): 计算a的b次方
  • Math.max(a,b): 计算最大值
  • Math.min(a,b): 计算最小值
  • Math.abs(): 取绝对值
console.log(Math.sqrt(16)); // 4.0
console.log(Math.cbrt(8)); // 2.0
console.log(Math.pow(3, 2)); // 9.0
console.log(Math.max(2.3, 4.5));// 4.5
console.log(Math.min(2.3, 4.5));// 2.3

/**
 * abs求绝对值
 */
console.log(Math.abs(-10.4)); // 10.4
console.log(Math.abs(10.1)); // 10.1

进位

  • Math.ceil(): 天花板的意思,逢余进一
  • Math.floor(): 地板的意思,逢余合一
  • Math.rint(): 四舍五入,返回double值。注意 .5的时候会取偶数
  • Math.round(): 四舍五入,float时返回int值,double时返回long值
/**
* ceil天花板的意思,就是逢余进一
 */
console.log(Math.ceil(-10.1)); // -10.0
console.log(Math.ceil(10.7)); // 11.0
console.log(Math.ceil(-0.7)); // -0.0
console.log(Math.ceil(0.0)); // 0.0
console.log(Math.ceil(-0.0)); // -0.0
console.log(Math.ceil(-1.7)); // -1.0

console.log("-------------------");

/**
 * floor地板的意思,就是逢余舍一
 */
console.log(Math.floor(-10.1)); // -11.0
console.log(Math.floor(10.7)); // 10.0
console.log(Math.floor(-0.7)); // -1.0
console.log(Math.floor(0.0)); // 0.0
console.log(Math.floor(-0.0)); // -0.0

console.log("-------------------");

/**
 * rint 四舍五入,返回double值 注意.5的时候会取偶数 异常的尴尬=。=
 */
console.log(Math.rint(10.1)); // 10.0
console.log(Math.rint(10.7)); // 11.0
console.log(Math.rint(11.5)); // 12.0
console.log(Math.rint(10.5)); // 10.0
console.log(Math.rint(10.51)); // 11.0
console.log(Math.rint(-10.5)); // -10.0
console.log(Math.rint(-11.5)); // -12.0
console.log(Math.rint(-10.51)); // -11.0
console.log(Math.rint(-10.6)); // -11.0
console.log(Math.rint(-10.2)); // -10.0

console.log("-------------------");
/**
 * round 四舍五入,float时返回int值,double时返回long值
 */
console.log(Math.round(10)); // 10
console.log(Math.round(10.1)); // 10
console.log(Math.round(10.7)); // 11
console.log(Math.round(10.5)); // 11
console.log(Math.round(10.51)); // 11
console.log(Math.round(-10.5)); // -10
console.log(Math.round(-10.51)); // -11
console.log(Math.round(-10.6)); // -11
console.log(Math.round(-10.2)); // -10

随机数

  • Math.random(): 取得一个[0,1)范围内的随机数
    // 获取一个从0到9的随机整数数字
    var r = Math.random();
    var num = parseInt(Math.random() * 10);对于整个函数只是单纯的负责取整,而不是四色五入
    console.log(num);

简单案例

		// 完成:从数字中随机挑选一个成员
        var arr = ["张三", "李四", "王五", "赵六", "田七"];
        // 获取随机数
        var r = Math.random();
        // 让该随机数 乘以数组的长度
        var index = arr.length * r;如果对其结果取整的话,达不到数字5
        // 取整
        index = parseInt(index);
        // 根据index获取成员
        var result = arr[index];
        console.log("这一次选择的人是" + result);
        document.write(result);

小案例

		// 随机一个长度 10 ~ 50位的数组 
        // 随机填充一些数字 这些数字的范围 77 ~ 99 
        // 求该数组中的最大值
        // 分析:
        // 既然要随机生成一个不定长度的数组 
        // new Array(这里得有一个10 ~ 50的数) 解决方案: 利用Math.random() 获取10 ~ 50  代码: var length = parseInt(Math.random() * 41 + 10); 最终把length填入参数中 或者设置为数组的length属性
        // 数组已经生成
        // 循环生成77 ~ 99 的随机数
        // Math.random() * 23 + 77//对于由于random得不到1,所以在乘的数上加1,可以达到22的数字大小;

        // 生成长度
        var length = parseInt(Math.random() * 41 + 10);
        // // 根据长度定义数组
        var arr = new Array(length);
        console.log(arr);
        // // 循环
       for (var i = 0; i < arr.length; i++) {
            arr[i] = parseInt(Math.random() * 23) + 77;
        // }
        console.log(arr);
        var max = Math.max(...arr); 
        // 如果arr是 [1, 2, 3, 4] !!! 超纲语法 Math.max(...arr) !!!  该代码等价于 Math.max(1, 2, 3, 4);
        // 如果arr是 [45, 76, 88, 101, 44] 该代码等价于 Math.max(45, 76, 88, 101, 44)
        var index = arr.indexOf(max); // 找到该最大值的位置
        // 删除
        arr.splice(index, 1, "原来的最大值");
        console.log(arr);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值