28个实用的JavaScript单行代码技巧
本文汇总了28个实用的JavaScript单行代码技巧,涵盖数组处理、字符串操作、数学计算及类型判断等常见场景。通过简洁的ES6语法,如展开运算符、解构赋值和内置方法,帮助开发者提升编码效率与代码可读性。
1. 计算阶乘
通过递归方式计算指定数字的阶乘值。
const factorial = n => n === 0 ? 1 : n * factorial(n - 1);
console.log(factorial(5)); // 输出 120
2. 判断变量类型是否为对象
const isObject = variable === Object(variable);
3. 数组去重
借助Set数据结构自动去重的特性,快速移除数组中的重复项。
const uniqueArray = [...new Set(array)];
4. 合并数组
将多个数组合并,生成一个新的数组对象。
const mergedArray = [].concat(...arrays);
5. 快速获取最大与最小值
从数组中高效提取最大值和最小值。
const max = Math.max(...array);
const min = Math.min(...array);
6. 数组求和
使用简洁方式计算数组内所有元素的总和。
const sum = array.reduce((acc, cur) => acc + cur, 0);
7. 生成随机整数
在指定的数值范围内生成一个随机整数。
const randomInt = Math.floor(Math.random() * (max - min + 1)) + min;
8. 字符串反转
实现字符串内容的反向排列。
const reversedString = string.split('').reverse().join('');
9. 检测回文字符串
验证给定的字符串是否正读和反读一致。
const isPalindrome = string === string.split('').reverse().join('');
10. 数组扁平化
将多维嵌套数组转换为一维数组结构。
const flattenedArray = array.flat(Infinity);
11. 随机获取数组元素
从数组中随机选取并返回一个元素。
const randomElement = array[Math.floor(Math.random() * array.length)];
12. 检查数组元素唯一性
验证数组中的所有元素是否互不相同。
const isUnique = array.length === new Set(array).size;
13. 字符串压缩
对字符串中连续重复的字符进行压缩处理。
const compressedString = string.replace(/(.)\1+/g, match => match[0] + match.length);
14. 生成斐波那契数列
生成斐波那契数列的前n项数据。
const fibonacci = Array(n).fill().map((_, i, arr) => i <= 1 ? i : arr[i - 1] + arr[i - 2]);
15. 计算数组交集
获取多个数组中共有的元素集合。
const intersection = arrays.reduce((acc, cur) => acc.filter(value => cur.includes(value)));
16. 邮箱格式验证
检测字符串是否符合标准的邮箱地址格式。
const isValidEmail = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/.test(email);
17. 过滤数组假值
移除数组中所有的假值,包括false、null、0、""以及undefined。
const truthyArray = array.filter(Boolean);
18. 阶乘计算
计算指定数字的阶乘结果。
const factorial = n => n <= 1 ? 1 : n * factorial(n - 1);
19. 质数判断
检查一个数字是否为质数。
const isPrime = n => ![...Array(n).keys()].slice(2).some(i => n % i === 0);
20. 检测空对象
判断一个对象是否不包含任何自有属性。
const isEmptyObject = Object.keys(object).length === 0 && object.constructor === Object;
21. 验证回调函数真值
检查数组中的每个元素是否均满足特定条件。
const allTrue = array.every(condition);
22. 验证回调函数假值
检查数组中是否存在至少一个元素满足特定条件。
const anyFalse = array.some(condition);
23. 数组排序
对数组元素进行排序操作。
const sortedArray = array.sort((a, b) => a - b);
24. 日期格式化
将日期对象转换为指定格式的字符串。
const formattedDate = new Date().toISOString().slice(0, 10);
25. 字符串转整数
const intValue = +str;
26. 统计元素出现次数
统计数组中各个元素出现的频率。
const countOccurrences = array.reduce((acc, cur) => (acc[cur] ? acc[cur]++ : acc[cur] = 1, acc), {});
27. 变量值交换
[a, b] = [b, a];
28. 逗号运算符多表达式处理
const result = (expression1, expression2, ..., expressionN);
以上即为28个JavaScript单行代码的详细内容,如需了解更多JavaScript单行代码相关信息,请查阅本站其他文章。
JS处理含Emoji或中文的字符串转数组乱码问题
2026-11-05 16:12:28
JS怎么使用展开运算符合并对象
2026-11-05 14:42:18
ES6+环境下判断JS对象为空的简洁写法
2026-11-05 12:12:23
怎么通过replacer函数自定义JS中JSON的格式化输出
2026-11-05 11:19:44
JS正则表达式基础:字面量与RegExp构造函数的区别及常用元字符
2026-11-05 11:16:58
