21

装逼 | 10个JS精简代码无形装逼集合,最为致命,记得收藏好

 3 years ago
source link: https://www.iming.info/2020/11/15/装逼-10个js精简代码无形装逼集合,最为致命,记得/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Hi! 我是小小,今天是本周的第一篇,主要内容是这10个 js 精简代码,无形中装逼,最为致命,切记收藏,还有其他的,记得给小小留言哦!

日历

创建过去七天的数组,如果把代码中的减号换成加号,将会得到未来7天的数组集合。

// 创建过去七天的数组
[...Array(7).keys()].map(days => new Date(Date.now() - 86400000 * days));

生成随机 ID

在原型设计时需要经常使用创建 ID的功能,但是我在实际项目中看到有人使用,其实这相当不安全

// 生成长度为11的随机字母数字字符串
Math.random().toString(36).substring(2);
// hg7znok52x

获取 URL 的查询参数

获取URL中的查询参数。

// 获取URL的查询参数
q={};location.search.replace(/([^?&=]+)=([^&]+)/g,(_,k,v)=>q[k]=v);q;

获取本地时间

通过一堆js代码,可以获取到本地的时间

// 创建本地时间
<body onload="setInterval(()=>document.body.innerHTML=new Date().toLocaleString().slice(10,19))"></body>

数组混淆

用于随机更改数组中元素的顺序

// 随机更改数组元素顺序,混淆数组
(arr) => arr.slice().sort(() => Math.random() - 0.5)
/* 
let a = (arr) => arr.slice().sort(() => Math.random() - 0.5)
let b = a([1,2,3,4,5])
console.log(b)
*/

生成随机的颜色

用于生成随机的颜色

// 生成随机十六进制代码 如:'#c618b2'
'#' + Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, '0');

你知道这份代码运行的结果吗?

for(i=0;++i<101;console.log(i%5?f||i:f+'Buzz'))f=i%3?'':'Fizz'

数组去重

使用原生的方法,使得数组去重

// 数组去重
[...new Set(arr)]

创建一个特定大小的数组

[...Array(3).keys()]
// [0, 1, 2]

这个返回什么?

你一定想不到,这个会返回一个键盘

// 用字符串返回一个键盘图形
(_=>[..."`1234567890-=~~QWERTYUIOP[]~ASDFGHJKL;'~~ZXCVBNM,./~"].map(x=>(o+=`/${b='_'.repeat(w=x<y?2:' 667699'[x=["BS","TAB","CAPS","ENTER"][p++]||'SHIFT',p])}|`,m+=y+(x+'    ').slice(0,w)+y+y,n+=y+b+y+y,l+=' __'+b)[73]&&(k.push(l,m,n,o),l='',m=n=o=y),m=n=o=y='|',p=l=k=[])&&k.join`
`)()

FFryuue.jpg!mobile

关于作者

我是小小,双鱼座的程序猿,我们下期再见!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK