JavaScript单行代码

29 阅读3分钟

1. 检查一个数字是否是偶数

const isEven = n => n % 2 === 0

示例:

console.log(isEven(1)); // false
console.log(isEvem(2)); // true

描述:此技巧使用Moduleo运算符(%)来确定n除以2的余数是否为0判断

2. 从数组中获取最大值

const max = arr => Math.max(...arr);

示例:

const numbers = [10, 4, 6, 8, 2];
console.log(max(numbers)); // 10

描述:这使用扩展运算符(...)将数组arr扩展到Math.max()函数的单个参数中,同理最小值函数Math.min()

3.反向字符串

const reverseString = str => str.split('').reverse().join('');

示例:

const message = 'Hello';
console.log(reverseString(message)); // 'olleH'

描述:这可以有效地使用一系列方法逆转字符串: split(''): 将字符串转换为字符数组。 reverse(): 逆转字符的顺序 join(''): 将反向的字符重新连接到字符串中

4. 从数组中删除重复项

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) 从数组中创建一个集合,固有的删除了重复项,而扩展运算符('...')将其转换回数组

5.大写字符串的第一个字母

const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1);

示例:

const greeting = 'hello';
console.log(capitalize(greeting)); // 'Hello'

描述:这个单线大写了字符串的第一个字母,它提取第一个字符,将其转换成大写,并将其与字符串的其余部分相连

6.检查字符串是否包含数字

const isDigitsOnly = str => /^\d+$/.test(str);

示例:

console.log(isDigitsOnly('123456')); // true
consolr.log(isDigitsOnly('Hello')); // false

描述:这使用正则表达式检查字符串是否仅有数字组成。^\d+$ 匹配一个以一个或多个数字开始和结尾的字符串。

7.总和一个数组中的所有数字:

const sum = arr => arr.reduce((acc,val) => acc + val, 0);

示例:

const numbers = [1, 2, 3, 4];
console.log(sum(numbers)); // 10

描述:这采用reduce()方法通过数组迭代,将每个值添加到累加器,该值从0开始

8.yyyy-mm--dd获取当前日期:

const today = () => new Date().toISOString().split('T')[0];

示例:

console.log(today()); // e.g.,'2024-11-08'

描述:通过将当前日期转换为ISO字符串格式并提取日期零件来标准化格式返回今天的日期

9.生成一系列随机颜色:

const randomColors = n =>Array.from({length: n},()=>'#'+Math.floor(MAth.random() * 16777215).toString(16));

示例:

console.log(randomColor(3)); // e.g.,['#f0c','#a3d','#5c6']

描述:将使用n array.from() 使用N随机十六进制颜色代码创建一个数组,并用随机数生成每种颜色

10.洗牌阵列

const shuffle = arr => arr.sort(() => Math.random() - 0.5);

示例:

console.log(Shuffle([1, 2, 3)); // e.g.,[3, 1, 2]

描述:通过基于随机比较器函数对数组中的元素顺序随机

11.计算数字的阶乘

const factorial = n => n <= 1 ? 1 : n * factorial(n - 1);

示例:

console.log(factorial(5)); // 120

描述将计算所有的正整数的乘积,最多递归n

12.检查对象是否为空:

const isEmpty = obj => Object.keys(obj).length === 0;

示例:

console.log(isEmpty({})); // true

描述:这可以通过验证其键数组的长度来检查对象是否没有属性

13.将骆驼字符串转换为连接式:

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,11-2):查找小写字母的出现,然后是大写字母,并用小写字母和连字符代替大写字母;toLowerCase():将整个结果的字符串转换为小写,以进行适当的烤肉串格式