分享 29个超有用的 JavaScript 单行代码(下)

分享 29个超有用的 JavaScript 单行代码(下)

大家好,在上一篇文章《分享29个超有用的 JavaScript 单行代码(上)》分享了日期、字符串、数字、数组相关的单行代码,今天继续分享工具函数这最后一部分,共 13 个代码片段。

17、温度转换为华氏度

华氏度(Fahrenheit scale),是指用来计量温度的单位,符号℉。华氏度 = 32+ 摄氏度× 1.8。

 

18、转换为摄氏度

const toCelsius=  (fahrenheit) => (fahrenheit- 32) * 5 / 9;

 

19、如何清除浏览器中的所有 cookie

const clearAllCookies = () => document.cookie.split(';')
.forEach((c) => (document.cookie = c.replace(/^ +/, '')
                .replace(/=.*/, `=;expires=${new Date().toUTCString()};
                path=/`)));

20、如何从 HEX 转换为 RGB 色值

const toRGB= (hex) =>
    hex
        .replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, 
                 (_, r, g, b) => `#${r}${r}${g}${g}${b}${b}`)
        .substring(1)
        .match(/.{2}/g)
        .map((x) => parseInt(x, 16));

 

21、如何将 RGB 转换为 HEX

const toHEX = (r,g,b) => 
"#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);

 

22、检查函数是否为异步函数

const isAsyncFunction = (f) => 
Object.prototype.toString.call(f) === '[object AsyncFunction]';

 

23、如何确认代码是否在浏览器中运行

const runningInBrowser = typeof window === 'object' 
&& typeof document === 'object';

 

24、如何确认代码是否在 Node 中运行

const runningInNode= typeof process !== 'undefined' 
&& process.versions != null 
&& process.versions.node != null;

 

25、检测系统是否是暗模式

这是一种非常方便的方法来检查用户是否在其浏览器上启用了黑暗模式。

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

 

26、滚动到顶部

滚动元素的一种单行方法是使用 <scrollIntoView> 方法。


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

27、滚动到底部

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

28、将 JSON 转换为 MAP

这个函数可以让我们以简单的方式将 JSON 字符串 转换成 Map 对象。

const jsonToMap = (json) => 
new Map(Object.entries(JSON.parse(json)));

 

29、生成 128 位 UUID

此函数允许我们生成具有 128 位的 UUID,用于唯一标识对象或实体。

const generateUUID = (a) => a?
      (a ^ ((Math.random() * 16) >> (a / 4))).toString(16):
([1e7] + -1e3 + -4e3 + -8e3 + -1e11)
.replace(/[018]/g,generateUUID);

 

结束

到这里,29个单行代码片段就介绍完了,你可能已经对单行代码有了自己的看法。对我来说,一行代码(JavaScript、Linux……)解决问题的一种紧凑而优雅的方法,但我们也必须注意解决方案不要太难读。

今天先分享到这里,希望今天的分享对你有所帮助,感谢你的阅读,如果你喜欢我的分享,别忘了点赞转发,让更多的人看到,最后别忘记点个关注,你的支持将是我分享最大的动力,后续我会持续输出更多内容,敬请期待。

原文:

https://medium.com/codex/30-super-useful-javascript-one-liners-98c8cd8d53da

作者:Kesk -*-

非直接翻译,有自行改编和添加部分。

posted on 2023-03-01 10:35  漫思  阅读(12)  评论(0编辑  收藏  举报

导航