在JavaScript开发过程中,我们经常会遇到一些看似复杂但实际上可以通过简洁的代码解决的问题。下面分享10个JavaScript一行代码技巧,解决日常开发中的常见难题。
1. 数组去重
const uniqueArray = [...new Set(array)];
这行代码利用Set对象的唯一性特点,可以一步完成数组去重,比传统的循环方法更加简洁高效。
2. 对象属性值转数组
const values = Object.values(object);
直接获取对象所有属性的值并转换为数组,避免了手动遍历对象。
3. 获取随机布尔值
const randomBoolean = Math.random() >= 0.5;
生成一个随机的布尔值,在需要随机决策时非常有用。
4. 从数组中获取随机元素
const randomElement = array[Math.floor(Math.random() * array.length)];
这行代码可以从数组中随机选取一个元素,适用于抽奖、随机展示等场景。
5. 检查变量是否为空值
const isNullOrUndefined = value == null;
这行代码可以同时检查变量是否为null或undefined,简化条件判断。
6. 将字符串转换为数字
const num = +"42";
使用加号操作符可以快速将字符串转换为数字,比parseInt()更简洁。
7. 截取小数点后指定位数
const toFixed = num => Math.round(num * 100) / 100; // 保留两位小数
比toFixed()方法更可靠的保留小数位数方法,避免了四舍五入的问题。
8. 合并对象
const mergedObject = {...obj1, ...obj2};
使用扩展运算符可以快速合并多个对象,后面的对象属性会覆盖前面的同名属性。
9. 获取URL参数
const params = Object.fromEntries(new URLSearchParams(window.location.search));
一行代码解析URL中的查询参数,返回一个包含所有参数的对象。
10. 深拷贝对象
const deepCopy = JSON.parse(JSON.stringify(object));
虽然这种方法有局限性(不能处理函数、循环引用等),但对于大多数JSON结构的数据来说,是最简单的深拷贝方法。