首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Js Math对象

Js Math对象

作者头像
hss
发布2022-02-25 19:19:25
发布2022-02-25 19:19:25
8.4K0
举报
文章被收录于专栏:前端卡卡西前端卡卡西

Math对象

Math.random()

得到一个大于等于0,小于1之间的随机数

代码语言:javascript
复制
// 随机获取0-1之间的随机数
console.log(Math.random());
// 随机获取0-10之间的随机数[0-10)
console.log(Math.random() * 10);
// 随机获取0-9之间的随机整数[0-9]
console.log(Math.floor(Math.random() * 10));
// 随机获取0-8之间的随机整数[0-8]
console.log(Math.floor(Math.random() * 9));
// 随机获取1-9之间的随机整数[1-9]
console.log(Math.floor(Math.random() * 9) + 1);
// 随机获取1-10之间的随机整数[1-10]
console.log(Math.floor(Math.random() * 10) + 1);
// 随机获取1-20之间的随机整数[1-20]
console.log(Math.floor(Math.random() * 20) + 1);

//随机获取1-9之间的随机整数[1-9]
console.log(Math.ceil(Math.random() * 9));
//随机获取1-20之间的随机整数[1-20]
console.log(Math.ceil(Math.random() * 20));
//随机获取[n-m]之间的随机整数
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
function getRandomInt1(min, max) {
    return Math.round(Math.random() * (max - min)) + min
}
// Fisher–Yates shuffle洗牌算法
function shuffle(arr) {
    for (var i = arr.length - 1; i >= 0; i--) {
        // 随机下标
        var randomIndex = Math.floor(Math.random() * (i + 1));
        // 随机下标的值
        var itemAtIndex = arr[randomIndex];
        // 随机下标的值和当前遍历到的下标的值互换位置
        arr[randomIndex] = arr[i];
        // 把当前遍历到的值换成随机下标的值
        arr[i] = itemAtIndex;
    }
    return arr;
}

Math.round()

四舍五入,该函数返回的是一个四舍五入后的的整数

代码语言:javascript
复制
console.log(Math.round(1.4));   //1
console.log(Math.round(1.5));   //2
console.log(Math.round(1.6));   //2
console.log(Math.round(-1.4));  //-1
console.log(Math.round(-1.5));  //-1
console.log(Math.round(-1.6));  //-2

Math.ceil()

向上取整

代码语言:javascript
复制
console.log(Math.ceil(0.4));  //1
console.log(Math.ceil(0.5));  //1
console.log(Math.ceil(0.6));  //1
console.log(Math.ceil(-0.4));  //-0
console.log(Math.ceil(-0.5));  //-0
console.log(Math.ceil(-0.6));  //-0
console.log(Math.ceil(1.4));   //2
console.log(Math.ceil(1.5));   //2
console.log(Math.ceil(1.6));   //2
console.log(Math.ceil(-1.4));  //-1
console.log(Math.ceil(-1.5));  //-1
console.log(Math.ceil(-1.6));  //-1

Math.floor()

向下取整

代码语言:javascript
复制
console.log(Math.floor(0.4));  //0
console.log(Math.floor(0.5));  //0
console.log(Math.floor(0.6));  //0
console.log(Math.floor(-0.4));  //-1
console.log(Math.floor(-0.5));  //-1
console.log(Math.floor(-0.6));  //-1
console.log(Math.floor(1.4));   //1
console.log(Math.floor(1.5));   //1
console.log(Math.floor(1.6));   //1
console.log(Math.floor(-1.4));  //-2
console.log(Math.floor(-1.5));  //-2
console.log(Math.floor(-1.6));  //-2
console.log(Math.ceil(-1.6));  //-1
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • Math对象
    • Math.random()
    • Math.round()
    • Math.ceil()
    • Math.floor()
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档