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 = [0, 1, 2];
arr.length = 2;
// arr => [0, 1]

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 }

为什么 obj 不是 {a:0,b:1,c:2,d:4,e:5}  而是上面结果 下面相同的例子就可以说明

最新文章

  1. HBASE 安装法
  2. 【Android】不依赖焦点和选中的TextView跑马灯
  3. android 读取根目录下的文件或文件夹
  4. 嵌入式Linux驱动学习之路(六)u-boot启动内核
  5. 将excel文件中的数据导入到mysql
  6. 重构if...else...或者switch程序块
  7. eclipse中的Console控制台视图脱离主窗口解决办法
  8. 【HTML/XML 9】XML中的DTD文件
  9. Samba 4.x.x全版本存在命令执行漏洞
  10. Java集群优化——dubbo+zookeeper构建高可用分布式集群
  11. poj 3687 Labeling Balls【反向拓扑】
  12. Sql server中Collation conflict问题
  13. codeforces 316F3 Suns and Rays
  14. 迷你 MVC
  15. [国嵌攻略][052][NandFlash驱动设计_读]
  16. Java容器:Map
  17. [翻译]一个新式的基于文本的浏览器 Browsh
  18. caffe---mnist数据集训练与测试
  19. locked (a oracle.jdbc.driver.T4CConnection
  20. 8-2 Building for UN Uva1605

热门文章

  1. JAVASE(十五) 泛型 :泛型用例、自定义泛型类、通配符
  2. Spring Boot笔记(二) springboot 集成 SMTP 发送邮件
  3. Java实现 LeetCode 826 安排工作以达到最大收益(暴力DP)
  4. Java实现 LeetCode 535 TinyURL 的加密与解密(位运算加密)
  5. Java实现 LeetCode 345 反转字符串中的元音字母
  6. Java实现选号码
  7. Java实现蓝桥杯单位转换
  8. Java实现 LeetCode 96 不同的二叉搜索树
  9. 2018年全国多校算法寒假训练营练习比赛(第二场)H-了断局
  10. Spring事务的传播属性