1、交换变量
let a=1,b=2
[a,b]=[b,a]
// Result:a=2,b=1
2、对象结构
const {name,agr} = {name:"john",age:23}
// Result:name="john",age:23
3、克隆对象
使用扩展运算符
const originObj = {name:"john",age:23}
const cloneObj = {...originObj}
// Result : cloneObj = {name:"john",age:23}
4、合并对象
如果存在重叠,后面的属性会覆盖前面的属性
const obj1 = {name:"john"};
const obj2 = {age:22};
const mergeObj = {...obj1,...obj2}
// Result = {name:"john",age:22}
5、清理数组
使用.filter(Boolean)告别不需要的假植
6、清除重复的数组值
7、快速求和数组
.reduce()是计算数组总和(和其他聚合值)的首选
8、找到数组的交集
过滤一个数组以查找共同值,简单有效
9、离开窗口前确认
通过这个方便的确认对话框防止意外数据丢失
window.onbeforeunload =()=>"确认离开吗?"
10、条件对象属性赋值
有条件的向对象添加属性
const condition = true
const value ="hello,world"
const newObject ={...(condition&&{key:value})}
// Result : newObject = {key :'hello,world'}
11、在线、离线状态检查器
const isOnline = navigator.online?'Online':'offline'
12、按键求和对象值
在某些情况下,需要计算每个对象里某个键的值的总和
const arrayOfObjects=[{x:1},{x:2},{x:3}]
const sumBy = (arr,key)=>arr.reduce((acc,obj)=>acc+obj[key],0)
sumBy(arrayOfObjects,'x')
// Result : 6
13、查询字符串到对象
当需要获取url上的参数时
const query = 'name=John&age=23'
const parseQuery = query=>
Object.fromEntries(new URLSearchParams(query))
// Result:parseQuery = {name:'John',age:'30'}