JavaScript单行代码
发布日期:2021-05-10 03:43:34 浏览次数:25 分类:精选文章

本文共 3607 字,大约阅读时间需要 12 分钟。

JavaScript单行代码技巧

在编程领域,JavaScript作为一门灵活且强大的语言,拥有许多巧妙的单行代码技巧。以下是一些实用的示例,帮助开发者在日常工作中提高效率。

1. ID随机生成

当你需要为物品或用户生成唯一标识符时,可以使用以下方法快速获取一个随机ID:

const a = Math.random().toString(36).substring(2);
console.log(a); // 示例输出:72pklaoe38u

2. 范围内的随机数生成

需要在特定范围内生成随机数时,可以使用 Math.random() 函数并进行适当的调整:

const min = 10, max = 20;
const a = Math.floor(Math.random() * (max - min + 1)) + min;
console.log(a); // 示例输出:17

3. 随机排列数组

在 JavaScript 中没有 random.shuffle(),但你仍然可以通过以下方法实现数组的随机排序:

const arr = ['A', 'B', 'C', 'D', 'E'];
console.log(arr.slice().sort((a, b) => Math.random() - 0.5)); // 示例输出:['C', 'B', 'A', 'D', 'E']

4. 获取随机布尔值

生成一个布尔值,可以利用 Math.random() 的范围特性:

const randomBoolean = () => Math.random() > 0.5;
console.log(randomBoolean()); // 示例输出:false

5. 生成十六进制颜色代码

以下方法可以为你生成随机的十六进制颜色代码:

console.log('#' + Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, '0')); // 示例输出:#48facd

6. 反转字符串

轻松反转字符串的方法如下:

const reverse = str => str.split('').reverse().join('');
console.log(reverse('javascript')); // 示例输出:tpircsavaj

7. 交换两个变量

交换两个变量的方法有多种,以下是一种简洁的实现:

let a = 5, b = 7;
[a, b] = [b, a];
console.log("A=", a, "B=", b); // 输出:A=7, B=5

8. 多变量分配

JavaScript 允许通过解构赋值来同时分配多个变量:

const [a, b, c, d] = [20, 14, 30, 'COD'];
console.log(a, b, c, d); // 输出:20 14 30 COD

9. 检查偶数和奇数

判断一个数是否为偶数的方法如下:

const isEven = num => num % 2 === 0;
console.log(isEven(2)); // true
console.log(isEven(3)); // false

10. FizzBuzz 简单版

编写一个简单的 FizzBuzz 程序:

for (let i = 1; i <= 100; i++) {
const f = i % 5 ? (i % 3 ? i : 'Fizz') : 'Buzz';
console.log(f); // 输出示例:12Fizz4BuzzFizz78Fizz
}

11. 回文检查

判断一个字符串是否为回文:

const isPalindrome = str => str === str.split('').reverse().join('');
console.log(isPalindrome('abcba')); // true
console.log(isPalindrome('abcbc')); // false

12. 检查数组元素条件

检查数组中所有元素是否满足特定条件:

const hasEnoughSalary = salary => salary >= 30000;
const salarys = [70000, 19000, 12000, 30000, 15000, 50000];
console.log(salarys.every(hasEnoughSalary)); // false

13. 计算两个日期之间的天数

计算两个日期之间的天数:

const days = (date1, date2) => Math.ceil(Math.abs(date1 - date2) / 86400000);
console.log(days(new Date('2020-04-15'), new Date('2021-01-15'))); // 275

14. 将字符串转换为数字

字符串转数字的简单方法:

const toNumber = str => +str;
console.log(toNumber("2")); // 2
console.log(typeof(toNumber("2"))); // 'number'

15. 合并多个数组

将多个数组合并为一个数组:

const cars = ['🚓', '🚗'];
const trucks = ['🚚', '🚛'];
const combined = [].concat(cars, trucks);
console.log(combined); // ['🚓', '🚗', '🚚', '🚛']

16. 数字截断到固定小数点

将数字截断到指定的小数位数:

const toFixed = (n, fixed) => {
const factor = Math.pow(10, fixed);
return Math.floor(n * factor) / factor;
};
console.log(toFixed(25.198726354, 1)); // 25.1

17. 滚动到页面顶部

快速滚动到页面顶部:

const goToTop = () => window.scrollTo(0, 0);
goToTop();

18. 华氏度转摄氏度

温度单位转换函数:

const celsiusToFahrenheit = celsius => celsius * 9/5 + 32;
const fahrenheitToCelsius = fahrenheit => (fahrenheit - 32) * 5/9;
console.log(celsiusToFahrenheit(15)); // 59
console.log(fahrenheitToCelsius(59)); // 15

提取特定 Cookie 的值:

const cookie = name => {
const cookies = document.cookie;
return cookies.split(`; ${name}=`).pop().split(';').shift();
};
console.log(cookie('_ga')); // GA1.3.974792242.1509957189

20. 复制文本到剪贴板

将文本复制到剪贴板:

const copyTextToClipboard = async text => {
await navigator.clipboard.writeText(text);
};
copyTextToClipboard('示例文本');

21. 删除 HTML 标签

移除所有 HTML 标签:

const cleanHTML = str => str.replace(/<\/?[^>]+>/gi, '');
console.log(cleanHTML(' A
')); // ' A '

22. 克隆数组

创建数组的副本:

const oldArray = [1, 4, 2, 3];
const newArray = oldArray.slice();
console.log(newArray); // [1, 4, 2, 3]

这些技巧不仅可以帮助开发者提高效率,还能在日常工作中节省宝贵的时间。

上一篇:JavaScript编程知识
下一篇:实现JavaSrcipt页面的跳转

发表评论

最新留言

不错!
[***.144.177.141]2025年05月10日 17时43分48秒