JavaScript实用小技巧(1)
1.平滑回到顶部
document.body.scrollIntoView({behavior:'smooth'})
2.按位取反 ~a 即:返回 -(a+1),会去掉小数点
let a = 3.14; let b = ~a; //b = -(3.14+1) 取整 为-4; let c = ~b; //c = -(-4+1) 为3;
3.ES6的Set数据结构妙用
去重数组,Set集和,是一种类数组,且没有重复值。利用Set没有重复值,且可以和数组之间相互转化。
const a = [1, 2, 3, 2, 1, 2, 3, 4, 5, 6, 4, 3, 2, 1, 1] const b = new Set(a) // b = {Entries:[1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6]}
const c = new Array.from(b) // c = [1, 2, 3, 4, 5, 6]
4.使用 in 关键字判断
已判断对象是否有某个属性为例
const a = { b: 1 } console.log('b' in a) // true
5.数组 reduce求和
const a = [2, 3, 4, 5, 8] const b = a.reduce((x, y) => x + y) console.log(b) // b = 22
6.条件短路简化代码
if (a) { b() } a && b() // 简化if判断
7.使用 length 调整数组大小
var a= [1, 2, 3, 4, 5] a.length = 3 console.log(a) //a = [1, 2, 3] 直接改变原数组
8.动态键
const a= 'aa'; var b= { [a]: 'Blue' } // b = { aa: 'Blue' }