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 行级解析读取XML文件(附源码)
Oct 12 Javascript
基于jQuery试卷自动排版系统
Jul 18 Javascript
js中事件的处理与浏览器对象示例介绍
Nov 29 Javascript
Jquery中"$(document).ready(function(){ })"函数的使用详解
Dec 30 Javascript
jQuery中:animated选择器用法实例
Dec 29 Javascript
jquery专业的导航菜单特效代码分享
Aug 29 Javascript
简单谈谈JavaScript的同步与异步
Dec 31 Javascript
ES6中如何使用Set和WeakSet
Mar 10 Javascript
AngularJS入门教程之AngularJS指令
Apr 18 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
Mar 08 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
Jul 16 Javascript
原生JavaScript实现五子棋游戏
Nov 09 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的Yii框架的组件化机制的基本知识
2016/03/17 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
jquery.validate的使用说明介绍
2013/11/12 Javascript
jquery遍历select元素(实例讲解)
2013/12/31 Javascript
Area 区域实现post提交数据的js写法
2014/04/22 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
浅谈JS继承_寄生式继承 & 寄生组合式继承
2016/08/16 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
Python中threading模块join函数用法实例分析
2015/06/04 Python
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
Python中运算符"=="和"is"的详解
2016/10/08 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
提升Python效率之使用循环机制代替递归函数
2019/07/23 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
Python用类实现扑克牌发牌的示例代码
2020/06/01 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
劳动模范事迹材料
2014/01/19 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
申报优秀教师材料
2014/12/16 职场文书
医生个人年度总结
2015/02/28 职场文书
2015大学生入党个人自传
2015/06/26 职场文书
信息技术国培研修日志
2015/11/13 职场文书
python异常中else的实例用法
2021/06/15 Python
nginx刷新页面出现404解决方案(亲测有效)
2022/03/18 Servers