今天这篇文章重点介绍15个强大的单行代码处理技巧,可以解决很多常见的开发任务,现在,我们就开始今天的学习。
1、检查一个数字是否甚至是:
const isEven = n => n % 2 === 0
示例:
console.log(isEven(4)); // true
console.log(isEven(5)); // false
描述:此技巧使用Modulo运算符(%)来确定n除以2的余数是0。如果是,则数为偶数;否则,这很奇怪。
2、从数组中获取最大值:
const max = arr => Math.max(...arr);
示例:
const numbers = [10, 5, 18];
console.log(max(numbers)); // 18
描述:这使用扩展运算符(``…')将数组arr扩展到Math.max()函数的单个参数中,该函数返回最大的值。
3、从数组中获取最小值:
const min = arr => Math.min(...arr);
示例:
const numbers = [10, 5, 18];
console.log(min(numbers)); // 5
描述:类似于最大值,此技巧使用Math.min()与传播操作员一起找到数组中的最小值。
4、反向字符串:
const reverseString = str => str.split('').reverse().join('');
示例:
const message = "Hello";
console.log(reverseString(message)); // "olleH"
描述:这可以有效地使用一系列方法逆转字符串:
split(''):将字符串转换为字符数组。
reverse(): :逆转字符的顺序。
join(''):将反向字符重新连接到字符串中。
5、检查字符串是否是回文:
const isPalindrome = str => str === str.split('').reverse().join('');
示例:
console.log(isPalindrome("racecar")); // true
console.log(isPalindrome("hello")); // false
描述:这建立在字符串反转技术上。它检查原始字符串是否与反向字符串相同,指示alendindrome。
6、从数组中删除重复项:
const unique = arr => [...new Set(arr)];
示例:
const numbers = [1, 2, 2, 3, 4, 1];
console.log(unique(numbers)); // [1, 2, 3, 4]
描述:此单线使用集合来消除重复项。New Set(ARR)从数组中创建一个集合,固有地删除了重复项,而扩展运算符(``...')将其转换回数组。
7、大写字符串的第一个字母:
const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1);
示例:
const greeting = "hello";
console.log(capitalize(greeting)); // "Hello"
描述:这个单线大写了字符串的第一个字母。它提取第一个字符,将其转换为大写,并将其与字符串的其余部分相连。
8、检查字符串是否仅包含数字:
const isDigitsOnly = str => /^\d+$/.test(str);
示例:
console.log(isDigitsOnly("12345")); // true
console.log(isDigitsOnly("hello")); // false
描述:这使用正则表达式检查字符串是否仅由数字组成。^\ d+$匹配一个以一个或多个数字开始和结尾的字符串。const sum = arr => arr.reduce((acc, val) => acc + val, 0);
示例:
const numbers = [1, 2, 3, 4];
console.log(sum(numbers)); // 10
描述:这采用reald()方法通过数组迭代,将每个值添加到累加器,该值从0开始。const today = () => new Date().toISOString().split('T')[0];
示例:
console.log(today()); // e.g., "2024-10-12"
描述:这通过将当前日期转换为ISO字符串格式并提取日期零件来以标准化格式返回今天的日期。
11、生成一系列随机颜色:
const randomColors = n => Array.from({ length: n }, () => '#' + Math.floor(Math.random() * 16777215).toString(16));
示例:
console.log(randomColors(3)); // e.g., ["#f0c", "#a3d", "#5c6"]
描述:这将使用narray.from()使用N随机十六进制颜色代码创建一个数组,并用随机数生成每种颜色。const shuffle = arr => arr.sort(() => Math.random() - 0.5);
示例:
console.log(shuffle([1, 2, 3])); // e.g., [3, 1, 2]
描述:这通过基于随机比较器函数对数组中的元素顺序随机。const factorial = n => n <= 1 ? 1 : n * factorial(n - 1);
示例:
console.log(factorial(5)); // 120
描述:这将计算所有正整数的乘积,最多递归n。
14、检查对象是否为空:
const isEmpty = obj => Object.keys(obj).length === 0;
示例:
console.log(isEmpty({})); // true
描述:这可以通过验证其键数组的长度来检查对象是否没有属性。
15、将骆驼字符串转换为连接式:
const camelToKebab = str => str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
示例:
const camelCaseString = "thisIsCamelCase";
console.log(camelToKebab(camelCaseString)); // "this-is-camel-case"
描述:此将骆驼式字符串转换为连接式案例,使用正则表达式:
替换(/([A-Z])([[A-Z])/g,'$ 1- $ 2'):查找小写字母的出现,然后是大写字母,并用小写字母,连字符和大写字母代替。
tolowercase():将整个结果的字符串转换为小写,以进行适当的烤肉串格式。
这些单行对于在JavaScript中快速操作很有用,可以帮助你写出更加简洁的代码。
该文章在 2024/11/7 10:38:54 编辑过