记录下与Math有关的常用方法,如:求最大值、最小值等,或者是保留几位数啥的

1.数据

let floatA = 2.325232;
let floatB = 2.3456;
let temporaryArray = [1, 2, 5, 6, 3];
let minusNum = -12;
let minusFloat = -12.321;
let intA = 10;
let min, max, num;

2.求最大值、最小值

{/* 求最小值 */min = Math.min(floatA, floatB);console.log(min);/* 使用apply来重新绑定this */min = Math.min.apply(null, temporaryArray);console.log(min);/* 使用展开运算符 */min = Math.min(...temporaryArray);console.log(min);/* 求最大值 */max = Math.max(floatA, floatB);console.log(max);/* 使用apply来重新绑定this */max = Math.max.apply(null, temporaryArray);console.log(max);/* 使用展开运算符 */max = Math.max(...temporaryArray);console.log(max);
}

3.取整

{/* 四舍五入取整:取与参数最接近的整数 */num = Math.round(floatA);console.log(num);num = Math.round(minusFloat);console.log(num);/* 向上取整:取大于或等于函数参数,并且与之最接近的整数 */num = Math.ceil(floatB);console.log(num);/* 向下取整:取小于或等于函数参数,并且与之最接近的整数 */num = Math.floor(floatB);console.log(num);/* ceil、floor结合起来,实现一个总是返回数值的整数部分的函数 */function getInteger(value) {value = Number(value);return value < 0 ? Math.ceil(value) : Math.floor(value);}console.log(getInteger(-2.3322));
}

4.求绝对值

{/* 负整数 */num = Math.abs(minusNum);console.log(num);/* 负浮点数 */num = Math.abs(minusFloat);console.log(num);
}

5.次幂

{/* 结果是虚数或负数,则该方法将返回 NaN* 如果由于指数过大而引起浮点溢出,则该方法将返回 Infinity*//* 2的3次方 */num = Math.pow(2, 3);console.log(num);
}

6.去平方根

{/*  求参数的平方根,如果参数小于 0,则返回 NaN */num = Math.sqrt(9);console.log(num);
}

7.生成随机数

{/* 生成0-1的随机数,大于0小于1 */num = Math.random();console.log(num);/* 生成0-10的随机数 */num = Math.random() * 10;console.log(num);/* 生成任意范围随机数 */function getRandom(min, max) {return Math.random() * (max - min) + min;}console.log(getRandom(3.5, 6.5));/* 整数min与整数max生成任意范围整数随机数 */function getRandomInt(min, max) {return Math.floor(Math.random() * (max - min + 1)) + min;}console.log(getRandomInt(5, 15));
}

8.es6中对Math方法的扩展(部分)

{/* 取整(非四舍五入)* 对于非数值,内部调用 Number 强转为数值* 对于空值或其他数据,返回NaN* */num = Math.trunc(floatA);console.log(num);num = Math.trunc(intA);console.log(num);num = Math.trunc('aaa');console.log(num);
}{/* 判断一个数是正数、负数或零* 正数返回+1,负数返回-1,零返回0或-0* 其他值 NaN* */num = Math.sign(2);console.log(num);num = Math.sign(0);console.log(num);num = Math.sign(-0);console.log(num);num = Math.sign(-14);console.log(num);num = Math.sign('ss');console.log(num);
}{let a = 2;a **= 3;/* 相当于 a*a*a */console.log(a);
}

9.保留位数操作

{/* 四舍五入保留两位小数* toFixed(num) 方法可把 Number型 四舍五入为指定小数位数的数字* num规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20* 有些实现可以支持更大的数值范围,如果省略了该参数,将用 0 代替* */num = floatA.toFixed(2);console.log(num);let word = 2.5;num = word.toFixed();console.log(num);/* 不四舍五入 */num = Math.floor(23.365125 * 100) / 100;console.log(num);
}

10.字符串转数字

 {/* parseInt(value, radix)* 用于解析字符串,返回一个整数* radix表示要解析的数字的基数,该值介于 2 ~ 36 之间* 如果省略该参数或其值为 0,则数字将以 10 为基础来解析* 如果它以 “0x” 或 “0X” 开头,将以 16 为基数* 如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。* */let temporaryString = '123';num = parseInt(temporaryString);console.log(num);{console.log(parseInt("10"));        //返回 10console.log(parseInt("19",10));        //返回 19 : 10 + 9console.log(parseInt("11",2));        //返回 3 : 2 + 1console.log(parseInt("17",8));        //返回 15 : 8 + 7console.log(parseInt("1f",16));        //返回 31 : 16 + 15console.log(parseInt("010"));        //未定:返回 10 或 8}/* 常见的parseInt一道题 */{console.log(['1', '2', '3'].map(parseInt));/* 返回[1, NaN, NaN]* map(function(value, index, array) {})* map方法中的回调函数中的3个参数值,每个值value,索引值index,数组对象array* 上面的相当于parseInt('1', 0)、parseInt('2', 1)、parseInt('3', 2)* */}/* Number强转 */num = Number('12345');console.log(num);
}

正在努力学习中,若对你的学习有帮助,留下你的印记呗(点个赞咯^_^)

  • 往期好文推荐:

    • 判断iOS和Android及PC端
    • 纯css实现瀑布流(multi-column多列及flex布局)
    • 微信小程序之购物车和父子组件传值及calc的注意事项
    • css实现波浪线及立方体

原文地址:https://segmentfault.com/a/1190000017176274

较常用的Math方法及ES6中的扩展相关推荐

  1. ES6中的扩展运算符

    扩展运算符(...)将一个数组转化为参数序列,通常与函数一起使用,show(...['judy','girl']). 数组合并:[...arr1,...arr2,...arr3] 字符串转字符数组:[ ...

  2. js中当等于最小值是让代码不执行_网页中JS函数自动执行常用三种方法

    本文为大家分享了在网页中JS函数自动执行常用方法,供大家参考,具体内容如下 一.JS方法 1.最简单的调用方式,直接写到html的body标签里面: 2.在JS语句调用: function myfun ...

  3. html网页自动运行函数,在网页中JS函数自动执行常用三种方法

    在网页中JS函数自动执行常用三种方法 在HTML中的Head区域中,有如下函数: functionn MyAutoRun() { //以下是您的函数的代码,请自行修改先! alert("函数 ...

  4. es6中组件属性的形式

    var info = {name : 'sisi',school : 'hust' }; var MyInfo = React.createClass({render: function() {ret ...

  5. 5种JavaScript中常用的排序方法

    5种JavaScript中常用的排序方法 01.冒泡排序 通过相邻数据元素的交换,逐步将待排序序列变为有序序列,如果前面的数据大于后面的数据,就将两值进行交换,将数据进行从小到大的排序,这样对数组的第 ...

  6. 深度学习中常用的误差方法

    深度学习中常用的误差方法有: 标准差(Standard Deviation): 标准差也叫均方差,是方差的算术平方根,反应数据的离散程度 ,标准差越小,数据偏离平均值越小,反之亦然 . 公式为: py ...

  7. ES6中的Promise使用方法与总结

    在javascript中,代码是单线程执行的,对于一些比较耗时的IO操作,都是通过异步回调函数来实现的. 但是这样会存在一个问题,当下一个的操作需要上一个操作的结果时,我们只能把代码嵌到上一个操作的回 ...

  8. ES6中的常用知识点总结

    1.let 和 const ES5 只有全局作用域和函数作用域,没有块级作用域,ES6中新增了let命令和const命令用于声明变量,且类似于C+.Java等语言是块级作用域.const声明一个只读的 ...

  9. MPI中常用的通信方法

    MPI中常用的通信方法 问题描述 梯形法求解积分的串行程序 使用MPI并行化 使用树形结构优化通信 使用MPI_Reduce优化通信 使用MPI_Bcast优化通信 使用派生数据类型优化通信 使用结构 ...

最新文章

  1. Centos7上yum安装mongodb
  2. python中数据分析的流程为-利用python进行数据分析——histogram
  3. 中国高压断路器(QF)行业发展战略及创新前景展望报告2022-2028年版
  4. 【学术相关】研究生哪些行为可以在导师那超加分?你做到了吗?
  5. Spring Security3源码分析-http标签解析(转)
  6. 管理软件公司与互联网公司的区别
  7. python发动机悬置解耦计算-按重心处整车坐标系解耦
  8. 动手编写Node的C++模块
  9. 入门机器学习(西瓜书+南瓜书)模型选择与评估总结(python代码实现)
  10. unity及unity hub下载官网
  11. MySQL 字符串拼接 - 多种字符串拼接实战案例
  12. TMOD TCON SCON
  13. Newton牛顿法(二)| 收敛性和收敛速度 +初值的选取方法
  14. 天合光能为澳大利亚太阳能农场供应双玻组件
  15. Victor Zue教授的创新观
  16. [MacOS] 出现 Permission denied 解决办法
  17. 十三届双11,一部电商流量变迁史
  18. html百度静态页面代码,静态百度页面_html/css_WEB-ITnose
  19. 基于SSM的助学贷款管理系统
  20. 黑客大曝光:恶意软件和Rootkit安全

热门文章

  1. C++STL笔记(九):map和multimap详解
  2. java配置环境变量为8后仍然显示为7_jdk7与jdk8环境共存与切换
  3. cmd java转jar包,cmd 打包java成jar可执行文件
  4. python列表的加法_Python列表加法理解
  5. mysql创建临时表 主键_MySQL中临时表的基本创建与使用教程
  6. oracle修改字段长度sql_Oracle RAC修改参数文件位置
  7. C++安全方向openssl(三):3.2 md5算法原理详解以及代码实现
  8. python对日期型数据排序_如何对日期执行数学运算并用Python对它们进行排序?
  9. linux自定义model,关于modelarts自定义镜像使用心得
  10. nginx server location