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 相关文章推荐
json 定义
Jun 10 Javascript
javaScript 动态访问JSon元素示例代码
Aug 30 Javascript
js中hash和ico的关联分析
Feb 05 Javascript
js使用DOM操作实现简单留言板的方法
Apr 10 Javascript
分享15个大家都熟知的jquery小技巧
Dec 02 Javascript
AngularJS入门教程中SQL实例详解
Jul 27 Javascript
js Canvas绘制圆形时钟教程
Feb 06 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
Dec 20 Javascript
基于JS实现html中placeholder属性提示文字效果示例
Apr 19 Javascript
element ui分页多选,翻页记忆的实例
Sep 03 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
Oct 08 jQuery
nginx部署多个vue项目的方法示例
Sep 06 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
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
PHP中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
深入解析php之sphinx
2013/05/15 PHP
ThinkPHP查询语句与关联查询用法实例
2014/11/01 PHP
PHP实现图片自动清理的方法
2015/07/08 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
python 画图 图例自由定义方式
2020/04/17 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
2020/04/24 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
挪威手表购物网站:Klokker
2016/09/19 全球购物
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
经典商业广告词
2014/03/13 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
党员四风自我剖析材料
2014/10/07 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
2014年小学安全工作总结
2014/12/04 职场文书
工资证明格式模板
2015/06/12 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电