js常用小技巧
文章类型:Javascript
发布者:hp
发布时间:2023-04-25
在实际开发中,经常会用到一些小技巧提高效率,今天,整理一下常用的
一:小数取整,采用 | 、~~、>>
1.234 | 0 // 1
~~1.234 //1
1.234 >> 0 //1
二:隐式转换
1:通过+实现字符串数字转换
+'123' //转成muber
123+''//转成字符串
2:通过+实现new Date()转时间戳
new Date() //Tue Apr 25 2023 23:35:42 GMT+0800 (中国标准时间)
+new Date() //1682436945852
3:数组/多维数组转为逗号分隔字符串(可用于多维数组转一维)
""+[1, 2 , 3, 3, [2, 3, 4]]
三:解构
1:快速交互a,b值
var a=1;
var b=2;
[a, b] = [b, a];
console.log(a, b);
2:取最大/最小值
Math.max(...[1,2,3])
Math.min(...[1,2,3])
3:生成时间
new Date(...[2023,4,24])
4:字符串转数组
[...'string']
Array.from('string')
5:...合并对象
let obj1 = {a:1, b:2};
let obj2 = {b:3, c:4};
{...obj1, ...obj2}
//等同于
Object.assign(obj1, obj2)
四:常用方法
1:数组前补0
function preFixNum(num, length) {
return (Array(length).join('0') + num).slice(-length);
}
2:延时函数
const delay = ms => new Promise(resolve => setTimeout(resolve, ms))
3:生成指定长度数组
Array.from(new Array(10).keys());
4:短路逻辑
isTrue && console.log(1);
5:金钱格式化(千分)
let money = 11111;
money.toLocaleString('en-US');
6:数组求和
var arr = [1,2,3,4,5];
var sum = eval(arr.join('+'));
var sum = arr.reduce((prev,cur) => prev + cur);
7:数组元素为对象的去重
[...new Set(arr.map(v => JSON.stringify(v)))].map(v => JSON.parse(v))