JavaScript 是 Web 开发最重要的支柱。

洗牌阵列

在使用需要一定程度随机化的算法时,你经常会发现洗牌数组是一项非常必要的技能。以下代码段以复杂的方式对数组进行混洗。O(n log n)

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

// Testing
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
console.log(shuffleArray(arr));

复制到剪贴板

在 Web 应用程序中,复制到剪贴板因其对用户的便利性而迅速普及。

const copyToClipboard = (text) =>
navigator.clipboard?.writeText && navigator.clipboard.writeText(text);

// Testing
copyToClipboard("Hello World!");

注意:根据caniuse,该方法适用于93.08%的全球用户。所以检查用户的浏览器是否支持API是必要的。要支持所有用户,你可以使用并复制其内容。input

独特的元素

每种语言都有自己的实现Hash List,在JavaScript中,它被称为Set. Set 你可以使用Data Structure从数组中轻松获取唯一元素。

const getUnique = (arr) => [...new Set(arr)];

// Testing
const arr = [1, 1, 2, 3, 3, 4, 4, 4, 5, 5];
console.log(getUnique(arr));

检测暗模式

随着暗模式的日益普及,如果用户在他们的设备中启用了暗模式,那么将你的应用程序切换到暗模式是理想的。幸运的是,media queries可用于使任务在公园散步。

const isDarkMode = () =>
window.matchMedia &&
window.matchMedia("(prefers-color-scheme: dark)").matches;

// Testing
console.log(isDarkMode());

根据caniuse的支持率为matchMedia97.19 %。

滚动到顶部

初学者经常发现自己在正确地将元素滚动到视图中时遇到了困难。滚动元素最简单的方法是使用scrollIntoView方法。添加behavior: "smooth"平滑的滚动动画。

const scrollToTop = (element) =>
element.scrollIntoView({ behavior: "smooth", block: "start" });

滚动到底部

就像scrollToTop方法一样,使用scrollToBottom方法可以很容易地实现scrollIntoView方法,只需将block值切换为end

const scrollToBottom = (element) =>
element.scrollIntoView({ behavior: "smooth", block: "end" });

生成随机颜色

的的应用程序是否依赖随机颜色生成?别再看了,下面的代码片段让你明白了!

const generateRandomHexColor = () =>
`#${Math.floor(Math.random() * 0xffffff).toString(16)}`;

谢谢阅读