前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 中的 7 个杀手级单行代码

JavaScript 中的 7 个杀手级单行代码

作者头像
海拥
发布2022-04-13 17:25:40
6650
发布2022-04-13 17:25:40
举报
文章被收录于专栏:全栈技术全栈技术

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

洗牌阵列

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

代码语言:javascript
复制
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 应用程序中,复制到剪贴板因其对用户的便利性而迅速普及。

代码语言:javascript
复制
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从数组中轻松获取唯一元素。

代码语言:javascript
复制
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可用于使任务在公园散步。

代码语言:javascript
复制
const isDarkMode = () =>
  window.matchMedia &&
  window.matchMedia("(prefers-color-scheme: dark)").matches;

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

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

滚动到顶部

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

代码语言:javascript
复制
const scrollToTop = (element) =>
  element.scrollIntoView({ behavior: "smooth", block: "start" });

滚动到底部

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

代码语言:javascript
复制
const scrollToBottom = (element) =>
  element.scrollIntoView({ behavior: "smooth", block: "end" });

生成随机颜色

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

代码语言:javascript
复制
const generateRandomHexColor = () =>
  `#${Math.floor(Math.random() * 0xffffff).toString(16)}`;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 洗牌阵列
  • 复制到剪贴板
  • 独特的元素
  • 检测暗模式
  • 滚动到顶部
  • 滚动到底部
  • 生成随机颜色
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档