数组乱序
在使用须要某种水平的随机化的算法时,你会常常发现洗牌数组是一个相当须要的技能。
下面的片段以O(n log n)的复杂度对一个数组进行就地洗牌。
const shuffleArray = (arr) => arr.sort(() => Math.random() - 0.5) // 测试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)// 测试copyToClipboard("Hello World!")注意:根据caniuse,该方法对93.08%的环球用户有用。所以必须查抄用户的欣赏器是否支持该API。为了支持所有用户,你可以使用一个输入并复制其内容。
数组去重
每种语言都有自己的哈希列表的实现,在JavaScript中,它被称为Set。你可以使用Set数据布局轻松地从一个数组中得到唯一元素。
const getUnique = (arr) => [...new Set(arr)\]// 测试const arr = \[1, 1, 2, 3, 3, 4, 4, 5, 5\];console.log(getUnique(arr))检测暗中模式
随着暗中模式的遍及,如果用户在他们的装备中启用了暗中模式,那么将你的应用步伐切换到暗中模式黑白常抱负的。荣幸的是,可以使用媒体查询来使这项任务变得简单。
const isDarkMode = () => window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches// 测试console.log(isDarkMode())根据caniuse的数据,matchMedia的支持率为97.19%。
滚动到顶部
初学者常常发现自己在准确滚动元素的过程中碰到困难。最简单的滚动元素的方法是使用scrollIntoView方法。添加举动。"smooth "来实现平滑的滚动动画。
const scrollToTop = (element) => element.scrollIntoView({ behavior: "smooth", block: "start" })滚动到底部
就像scrollToTop方法一样,scrollToBottom方法也可以用scrollIntoView方法轻松实现,只需将块值切换为竣事即可
const scrollToBottom = (element) => element.scrollIntoView({ behavior: "smooth", block: "end" })天生随机颜色
你的应用步伐是否依赖随机颜色的天生?不消再看了,下面的代码段可以满意你的要求
const generateRandomHexColor = () => `#${Math.floor(Math.random() * 0xffffff) .toString(16)}`; |