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类 from qq
Nov 13 Javascript
js 鼠标点击事件及其它捕获
Jun 04 Javascript
jQuery实现点击标题输入详细信息
Apr 16 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
Dec 13 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
Mar 25 Javascript
JavaScript对象引用与赋值实例详解
Mar 15 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
Apr 04 Javascript
VUE中v-model和v-for指令详解
Jun 23 Javascript
node实现简单的反向代理服务器
Jul 26 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
Aug 16 Javascript
不刷新网页就能链接新的js文件方法总结
Mar 01 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
Nov 12 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
APMServ使用说明
2006/10/23 PHP
php常用Output和ptions/Info函数集介绍
2013/06/19 PHP
PHP防止刷新重复提交页面的示例代码
2015/11/11 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
最新优化收藏到网摘代码(digg,diigo)
2007/02/07 Javascript
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
用js格式化金额可设置保留的小数位数
2014/05/09 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
PHP结合jQuery实现的评论顶、踩功能
2015/07/22 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
js实现导航栏中英文切换效果
2017/01/16 Javascript
JavaScript中最常见的三个面试题解析
2017/03/04 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
JavaScript实现点击图片换背景
2020/11/20 Javascript
使用python绘制人人网好友关系图示例
2014/04/01 Python
用Python展示动态规则法用以解决重叠子问题的示例
2015/04/02 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
分分钟入门python语言
2018/03/20 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
对python周期性定时器的示例详解
2019/02/19 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
django实现日志按日期分割
2020/05/21 Python
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
高职教师岗位职责
2013/12/24 职场文书
抽样调查项目计划书
2014/04/24 职场文书
个人授权委托书模板
2014/09/14 职场文书
2014年村官工作总结
2014/11/24 职场文书
布达拉宫的导游词
2015/02/02 职场文书
Ajax常用封装库——Axios的使用
2021/05/08 Javascript