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

47 篇文章 0 订阅

?? 作者主页:海拥
?? 作者简介:??CSDN全栈领域优质创作者、??HDZ核心组成员
?? 粉丝福利:粉丝群 每周送13本书,不定期送各种小礼品

直接跳到末尾 去评论区领书

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)}`;

?? 评论区抽粉丝送书啦

?? 欢迎大家在评论区提出意见和建议! (抽三位幸运儿送书,实物图如下)??

在这里插入图片描述

《元宇宙:图说元宇宙、设计元宇宙(全两册)》

【内容简介】

**元宇宙到底有多火?前有林俊杰在元宇宙上买房,后有张碧晨新歌《Interstellar》也与星际银河有关,但是,你对元宇宙的概念知道多少呢?是不是也对这个名词熟之又熟,却对其内涵迷迷糊糊?
  北京大学出版社联合文津图书奖得主、全国十大科普教育平台“量子学派”与中国科学院院士,共同推出《元宇宙:图说元宇宙、设计元宇宙(全两册)》一书,拒绝概念堆砌及材料汇编,原创首发,助你从零开始读懂元宇宙,并不断向上跃迁,轻松成为元宇宙架构师!
  320幅手绘插图+场景化叙事+十一维元宇宙关系图谱,更有大拉页版“2140世界设定”,让元宇宙的世界清晰可见。
**

也有不想靠抽,想自己买的同学可以参考下面的链接

当当自营购买链接:

《元宇宙:图说元宇宙、设计元宇宙(全两册)》- 当当图书

?? 面试题库:Java、Python、前端核心知识点大全和面试真题资料
?? 办公用品:精品PPT模板几千套,简历模板一千多套
?? 学习资料:2300套PHP建站源码,微信小程序入门资料

如果中奖了联系不上则视为放弃,可以从下方卡片里找到作者的联系方式,每周都会送6~9本书,后面送书力度还会加大,一年送几百上千本不是问题,备注【进群】领书不迷路。备注【资源】可获取上面的资料???

写在最后的

想看看我在做什么?查看我的 个人网站GitHub

需要 顶级全栈开发自由职业者 来消除你的开发困境?可以通过下方小卡片获取博主的联系方式,记得备注CSDN???

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bluepad

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值