数组及对象合并去重
const a = [1,2,3];
const b = [1,5,6];
const c = [...new Set([...a,...b])];//[1,2,3,5,6]
const obj1 = {
a:1,
}
const obj2 = {
b:1,
}
const obj = {...obj1,...obj2};//{a:1,b:1}
关于if中判断条件
// ES5写法
if( type == 1 || type == 2 || type == 3 || type == 4 || ) {
//...
}
// ES6写法
const condition = [1,2,3,4]; if( condition.includes(type) ){
//...
}
关于扁平化数组的处理
扁平化数组
就是把多维数组转化为一维数组,例如,将多维数组 [1,2,3,[2,3,[4,5,6]],4,100] 转化为 [1,2,3,2,3,4,5,6,4,100] 的形式
const deps = {
'采购部':[1,2,3],
'人事部':[5,8,12],
'行政部':[5,14,79],
'运输部':[3,64,105],
}
let member = Object.values(deps).flat(Infinity);
补充
flat方法不支持IE浏览器。
可选链操作符
// ES5写法
const name = obj && obj.name;
// ES6写法
const name = obj?.name;
非空时的判断
// ES5写法
if(value !== null && value !== undefined && value !== ''){ //... }
// ES6写法
if((value??'') !== ''){
//...
}
补充
如果if(!value){}代替的话0不为空
交换两个变量的值
let a = 'a';
let b = 'b';
[a, b] = [b, a];
console.log(a); // b
console.log(b); // a
ES6模块化 export 和 export default的区别
export: 可以导出多个变量 import时必须使用导出的变量名称进行接收,需要使用大括号
export default: 只能导出一个变量 import时 可以随便使用变量名称进行接收,不需要使用大括号
后续学习到新的方法后会继续补充