28个实用的JavaScript单行代码技巧

作者:拾光时间:2026-10-31 08:59:22浏览:520

本文汇总了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单行代码相关信息,请查阅本站其他文章。

作者最新文章