1. new Set()/去重一个数组
let arr = [1, 2, 2, 3, 3];
let set = new Set(arr);
let newArr = Array.from(set); // Array.from方法可以将 Set 结构转为数组。
console.log(newArr); // [1, 2, 3]
2. Object.assign()/对象的合并拷贝
let obj0 = { name: 'LiuD' };
let obj1 = { age: 11 };
let obj2 = { sex: 0 };
let obj3 = Object.assign({}, obj0, obj1, obj2);
console.log(obj3); // {name: "LiuD", age: 11, sex: 0}
3. map()/遍历数组,对数组的每一项进行操作并生成一个新的数组
let arr = [1, 2, 3, 4, 5];
let newArr = arr.map((e, i) => e * 2); // 给数组每一项乘以10
console.log(newArr); // [2, 4, 6, 8, 10]
4. filter()/过滤数组,在每一项元素后面触发一个回调函数,通过判断,保留或移除当前项,返回一个新的数组
let arr = [1, 2, 3, 4, 5];
let newArr = arr.filter((e, i) => e % 2 === 0); // 取模,过滤余数不为0的数
console.log(newArr); // [2,4]
5. some()/遍历数组,在每一项元素后面触发一个回调函数,只要一个满足条件就返回true,否则返回false,类似于 || 比较
let arr = [{ result: true }, { result: false }];
let newArr = arr.some((e, i) => e.result); // 只要一个为true,即为true
console.log(newArr); // true
6.every()/遍历数组,在每一项元素后面触发一个回调函数,只要一个不满足条件就返回false,否则返回true,类似于 && 比较
let arr = [{ result: true }, { result: false }];
let newArr = arr.every((e, i) => e.result); // 只要一个为false,即为false
console.log(newArr); // false
7. ~~运算符/~符号用在JavaScript中有按位取反的作用,~~即是取反两次,而位运算的操作值要求是整数,其结果也是整数,所以经过位运算的都会自动变成整数,可以巧妙的去掉小数部分,类似于parseInt
let a = 1.23;
let b = -1.23;
console.log(~~a); // 1
console.log(~~b); // -1
8. ||运算符/使用 || 运算符给变量设置默认值
const port = process.env.PORT || 3000;; // 如果process.env.PORT的值为true则取存在的值,否则为3000
9. ...(展开)运算符/用于解构数组的方法,可以用于快速获取数组的参数