技术

JS中数学方法详解

2019-10-12  本文已影响0人  拾柒_aab0

Math.max();最大值
console.log(Math.max(1,22,33,4,3,6));//33

Math.min();最小值
console.log(Math.min(1,22,33,4,3,6));//1
也可以进行比较

例:
var aa=13;
var bb=66;

可以隐式转换的情况

console.log(Math.max(1, 22, '33'));//33
console.log(Math.min(1, 22, '33'));//1

注意:如果一个参数不是数值,或转换后为非数值则返回NaN

console.log(Math.max(aa,bb));//66(找到两个数值里的最大的项)
console.log(Math.min(aa,bb));13(找到两个数值里的最小的项)

可以用apply();找到数组里最小值和最大值

var arr = [1,2,33,66,4,8];
var aa = Math.max.apply(Math,arr);//66
var aa = Math.min.apply(Math, arr);//1
console.log(aa);

舍入方法

ceil();向上取整

console.log(Math.ceil(3.6665656));//4
console.log(Math.ceil(-3.6665656));//-3

floor();向下取整

   console.log(Math.floor(2.3655787));//2
   console.log(Math.floor(-3.6665656));//-4

round();四舍五入

    console.log(Math.round(4.555555));//5
    console.log(Math.round(-4.5));//-4
    console.log(Math.round(-4.5555));//-5

生成随机数的方法

Math.random()不需要参数
生成0-10的随机数:Math.floor(Math.random() * 10);
随机获取字符串或数组的下标

var arr = [1, 2, 3, 4, 5];
var index = Math.floor(Math.random() * (arr.length));
console.log(index);

随机生成n位数字密码

function noRepete(n) {
  var newarr = [];
while (newarr.length < n) {
     var num = Math.floor(Math.random() * 10);
            if (newarr.indexOf([num]) == -1) {
           newarr.push(num);
          }
        }
         return newarr;
    }
     console.log(noRepete(4));
上一篇 下一篇

猜你喜欢

热点阅读