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 相关文章推荐
js parseInt("08")未指定进位制问题
Jun 19 Javascript
浅谈JavaScript之事件绑定
Jul 08 Javascript
JavaScript实现SHA-1加密算法的方法
Mar 11 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
Sep 16 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
May 30 Javascript
jquery二级目录选中当前页的css样式
Dec 08 Javascript
Angualrjs和bootstrap相结合实现数据表格table
Mar 30 Javascript
Vue表单输入绑定的示例代码
Nov 01 Javascript
layui实现数据表格table分页功能(ajax异步)
Jul 27 Javascript
node创建Vue项目步骤详解
Mar 06 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
May 06 Javascript
vue商城中商品“筛选器”功能的实现代码
Jul 01 Javascript
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
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
深入浅出php socket编程
2015/05/13 PHP
基于thinkPHP实现的微信自定义分享功能示例
2016/09/23 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
PHP中遍历数组的三种常用方法实例分析
2019/06/24 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
javascript document.compatMode兼容性
2010/02/23 Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
2010/06/19 Javascript
jquery实现加载等待效果示例
2013/09/25 Javascript
javascript验证只能输入数字和一个小数点示例
2013/10/21 Javascript
移动端 一个简单易懂的弹出框
2016/07/06 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
jQuery Masonry瀑布流插件使用方法详解
2017/01/18 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
2020/04/28 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
python类参数self使用示例
2014/02/17 Python
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
Python 多线程抓取图片效率对比
2016/02/27 Python
对python中的pop函数和append函数详解
2018/05/04 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
留学生如何写好自荐信
2013/12/27 职场文书
办理居住证介绍信
2014/01/15 职场文书
抄作业检讨书
2014/02/17 职场文书
询价采购方案
2014/06/09 职场文书
机械专业技术员求职信
2014/06/14 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
Qt数据库应用之实现图片转pdf
2022/06/01 Java/Android