JavaScript前端开发时数值运算的小技巧


Posted in Javascript onJuly 28, 2020

1.格式化金钱值

const ThousandNum = num => num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
const money = ThousandNum(20190214);
// money => "20,190,214"

2.取整代替正数的Math.floor(),代替负数的Math.ceil()

const num1 = ~~ 1.69;
const num2 = 1.69 | 0;
const num3 = 1.69 >> 0;
// num1 num2 num3 => 1 1 1

3.转数值只对null、""、false、数值字符串有效

const num1 = +null;
const num2 = +"";
const num3 = +false;
const num4 = +"169";
// num1 num2 num3 num4 => 0 0 0 169

4.精确小数

const RoundNum = (num, decimal) => Math.round(num * 10 ** decimal) / 10 ** decimal;
const num = RoundNum(1.69, 1);
// num => 1.7

5.取最小最大值

const arr = [0, 1, 2];
const min = Math.min(...arr);
const max = Math.max(...arr);
// min max => 0 2

6.是否为空对象

const obj = {};
const flag = DataType(obj, "object") && !Object.keys(obj).length;
// flag => true

7.判断数据类型

function DataType(tgt, type) {
 const dataType = Object.prototype.toString.call(tgt).replace(/\[object (\w+)\]/, "$1").toLowerCase();
 return type ? dataType === type : dataType;
}
DataType("liner"); // "string"
DataType(2020630); // "number"
DataType(true); // "boolean"
DataType([], "array"); // true
DataType({}, "array"); // false

8.克隆数组

const _arr = [0, 1, 2];
const arr = [..._arr];
// arr => [0, 1, 2]

9.合并数组

const arr1 = [0, 1, 2];
const arr2 = [3, 4, 5];
const arr = [...arr1, ...arr2];
// arr => [0, 1, 2, 3, 4, 5];

10.去重数组

const arr = [...new Set([0, 1, 1, null, null])];
// arr => [0, 1, null]

11.截断数组

const arr = [...new Set([0, 1, 1, null, null])];
// arr => [0, 1, null]

12.交换赋值

let a = 0;
let b = 1;
[a, b] = [b, a];
// a b => 1 0

13.克隆对象

const _obj = { a: 0, b: 1, c: 2 }; // 以下方法任选一种(本人偏爱第一种,简单明了,与克隆数组几乎一样)
const obj = { ..._obj };
const obj = JSON.parse(JSON.stringify(_obj));
// obj => { a: 0, b: 1, c: 2 }

14.合并对象

const obj1 = { a: 0, b: 1, c: 2 };
const obj2 = { c: 3, d: 4, e: 5 };
const obj = { ...obj1, ...obj2 };
// obj => { a: 0, b: 1, c: 3, d: 4, e: 5 }

JavaScript前端开发时数值运算的小技巧

为什么 obj 不是 {a:0,b:1,c:2,d:4,e:5}而是上面结果 下面相同的例子就可以说明

JavaScript前端开发时数值运算的小技巧

到此这篇关于JavaScript前端开发时数值运算的小技巧的文章就介绍到这了,更多相关JavaScript前端开发时数值运算内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
使用jquery的ajax需要注意的地方dataType的设置
Aug 12 Javascript
JavaScript中常用的六种互动方法示例
Mar 13 Javascript
JavaScript计划任务后台运行的方法
Dec 18 Javascript
Mongoose学习全面理解(推荐)
Jan 21 Javascript
利用angular、react和vue实现相同的面试题组件
Feb 19 Javascript
Bootstrap实现可折叠分组侧边导航菜单
Mar 07 Javascript
vue实现与安卓、IOS交互的方法
Nov 02 Javascript
vue中axios实现数据交互与跨域问题
May 12 Javascript
在Vue mounted方法中使用data变量详解
Nov 05 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
Dec 04 Javascript
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
Sep 28 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 Vue.js
js实现全选和全不选
Jul 28 #Javascript
浅谈vue中$bus的使用和涉及到的问题
Jul 28 #Javascript
js实现全选和全不选功能
Jul 28 #Javascript
JavaScript React如何修改默认端口号方法详解
Jul 28 #Javascript
vue内置组件component--通过is属性动态渲染组件操作
Jul 28 #Javascript
Postman如何实现参数化执行及断言处理
Jul 28 #Javascript
微信小程序实现电子签名功能
Jul 29 #Javascript
You might like
Terran剧情介绍
2020/03/14 星际争霸
php防注
2007/01/15 PHP
php skymvc 一款轻量、简单的php
2011/06/28 PHP
JS 判断undefined的实现代码
2009/11/26 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
2010/07/14 Javascript
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
Node.js的Express框架使用上手指南
2016/03/12 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
作为老司机使用 React 总结的 11 个经验教训
2017/04/08 Javascript
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
微信小程序获取当前时间及星期几的实例代码
2020/09/20 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
Python 使用PIL numpy 实现拼接图片的示例
2018/05/08 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
计算机网络毕业生自荐信
2013/10/01 职场文书
销售找工作求职信
2013/12/20 职场文书
JAVA程序员自荐书
2014/01/30 职场文书
毕业自我评价
2014/02/05 职场文书
责任心演讲稿
2014/05/14 职场文书
抗洪救灾标语
2014/10/08 职场文书