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))