提高代码可读性的JvacaScript小技巧

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();
  1. 数组去重
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值