1.检查对象是否为空
const isEmpty = obj => Reflect.ownKeys(obj).length === 0 && obj.constructor === Object
console.log(isEmpty({})) //true
console.log(isEmpty({name:'张三'})) //false
2.获取两个日期之间的天差
const daysBetween = (date1, date2) => Math.ceil(Math.abs(date1 - date2) / (1000 * 60 * 60 * 24))
console.log(daysBetween(new Date('2021-12-1'),new Date('2021-12-6'))) //5
3.打乱数组
const shuffle = arr => arr.sort(() => 0.5 - Math.random())
console.log(shuffle([1,2,3,4,5,6]))
4.获取字符串中的字符数
const characterCount = (str, char) => str.split(char).length - 1
5.计算数组的平均值
const average = (arr) => arr.reduce((a, b) => a + b) / arr.length
console.log(average([1,2,3,4,5,6])) //3.5
6.从数组中获取最小值/最大值
const numbers = [6, 8, 1, 3, 9];
console.log(Math.max(...numbers)); // 9
console.log(Math.min(...numbers)); // 1
7.复制到剪贴板
function copyToClipboard(text) {
navigator.clipboard.writeText(text);
}
8.获取鼠标位置
document.addEventListener('mousemove', (e) => {
console.log(`Mouse X: ${e.clientX}, Mouse Y: ${e.clientY}`);
});
9.简写条件判断语句
// 普通写法
if (a) {
onTables();
}
// 简写
a && onTables();
- 数组去重
const numbers = [2, 3, 4, 4, 2];
console.log([...new Set(numbers)]); // [2, 3, 4]
11.将字符串转换为数字
const str = '404';
console.log(+str) // 404;
12.妙用 reduce 对数组求和
const myArray = [10, 20, 30, 40];
const reducer = (total, currentValue) => total + currentValue;
console.log(myArray.reduce(reducer)); // 100