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的.live()和.die() 使用介绍
Sep 10 Javascript
JavaScript获取FCK编辑器信息的具体方法
Jul 12 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
Oct 29 Javascript
JavaScript数据结构链表知识详解
Nov 21 Javascript
JS实现仿PS的调色板效果完整实例
Dec 21 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
Feb 10 Javascript
利用C/C++编写node.js原生模块的方法教程
Jul 07 Javascript
微信小程序实现文字从右向左无限滚动
Nov 18 Javascript
写一个Vue Popup组件
Feb 25 Javascript
Vue实现多标签选择器
Nov 28 Javascript
vue-cli4.x创建企业级项目的方法步骤
Jun 18 Javascript
javascript实现贪吃蛇小游戏
Jul 28 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
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
php+mysql实现无限级分类
2015/11/11 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2017/04/10 PHP
理解JavaScript变量作用域更轻松
2009/10/25 Javascript
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
微信小程序 自定义Toast实例代码
2017/06/12 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
小程序封装wx.request请求并创建接口管理文件的实现
2019/04/29 Javascript
Javascript模拟实现new原理解析
2020/03/03 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
2020/11/04 Javascript
Python操作Word批量生成文章的方法
2015/07/28 Python
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
Pytorch mask_select 函数的用法详解
2020/02/18 Python
Python 忽略文件名编码的方法
2020/08/01 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
大专会计自我鉴定
2014/02/06 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
英文感谢信范文
2015/01/21 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书