19个杀手级的JavaScript单行代码,让你看起来像一个专业的
时间:2023-03-12 18:37:38
科技观察
1。生成一个随机字符串我们可以使用Math.random()来生成一个随机字符串,当我们需要一个唯一的ID时非常方便。constrandomString=()=>Math.random().toString(36).slice(2)randomString()//gi1qtdego0brandomString()//f3qixv40motrandomString()//eeelv1pm3ja2。转义HTML特殊字符如果您了解XSS,其中一种解决方案是转义HTML字符串。constescape=(str)=>str.replace(/[&<>"']/g,(m)=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[m]))escape('HiMedium.
')//
HiMedium. str.replace(/^(.)|\s+(.)/g,(c)=>c.toUpperCase())uppercaseWords('你好世界');//'你好世界'4。将字符串转换为驼峰命名法consttoCamelCase=(str)=>str.trim().replace(/[-_\s]+(.)?/g,(_,c)=>(c?c.toUpperCase():''));toCamelCase('背景颜色');//backgroundColortoCamelCase('-webkit-scrollbar-thumb');//WebkitScrollbarThumbtoCamelCase('_hello_world');//HelloWorldtoCamelCase('hello_world');//你好世界5。删除数组中的重复项删除数组中的重复项是非常有必要的,使用“Set”会变得非常简单。constremoveDuplicates=(arr)=>[...newSet(arr)]控制台。log(removeDuplicates([1,2,2,3,3,4,4,5,5,6]))//[1,2,3,4,5,6]6.FlatteningArrays我们经常测试在采访中,这可以通过两种方式完成。constflat=(arr)=>[].concat.apply([],arr.map((a)=>(Array.isArray(a)?flat(a):a)))//Orconstflat=(arr)=>arr.reduce((a,b)=>(Array.isArray(b)?[...a,...flat(b)]:[...a,b]),[])flat(['cat',['lion','tiger']])//['cat','lion','tiger']7.使用此方法从数组中移除错误值你将能够过滤掉数组中所有的假值。constremoveFalsy=(arr)=>arr。filter(Boolean)removeFalsy([0,'astring','',NaN,true,5,undefined,'anotherstring',false])//['astring',true,5,'anotherstring']8.检查一个数是偶数还是奇数是一个超级简单的任务,可以通过使用模运算符(%)来解决。constisEven=num=>num%2===0isEven(2)//trueisEven(1)//false9.获取两个数之间的随机整数该方法用于获取两个数之间的随机整数。constrandom=(min,max)=>Math.floor(Math.random()*(max-min+1)+min)random(1,50)//25random(1,50)//3410.获取参数我们可以使用reduce方法来获取我们在此函数中提供的参数的平均值。constaverage=(...args)=>args.reduce((a,b)=>a+b)/args.length;平均值(1、2、3、4、5);//311.ReducenumbersTruncatetoafixeddecimalpoint使用Math.pow()方法,我们可以将数字截断到我们在函数中提供的某个小数点。constround=(n,d)=>Number(Math.round(n+"e"+d)+"e-"+d)round(1.005,2)//1.01round(1.555,2)//1.5612.计算两个日期之间的相差天数有时候我们需要计算两个日期之间相差的天数,一行代码就可以搞定。constdiffDays=(date,otherDate)=>Math.ceil(Math.abs(date-otherDate)/(1000*60*60*24));diffDays(newDate("2021-11-3"),newDate("2022-2-1"))//9013.从一个日期获取一年中的第几天你想知道某个日期是一年中的第几天吗?constdayOfYear=(date)=>数学。floor((date-newDate(date.getFullYear(),0,0))/(1000*60*60*24))dayOfYear(newDate())//7414.generaterandomhexcolor如果你需要随机颜色值,这个函数就可以了。constrandomColor=()=>`#${Math.random().toString(16).slice(2,8).padEnd(6,'0')}`randomColor()//#9dae4frandomColor()//#6ef10e15。将RGB颜色转换为十六进制constrgbToHex=(r,g,b)=>"#"+((1<<24)+(r<<16)+(g<<8)+b).toString(16).slice(1)rgbToHex(255,255,255)//'#ffffff'16.清除所有cookiesconstclearCookies=()=>document.cookie.split(';').forEach((c)=>(document.cookie=c.replace(/^+/,'').replace(/=.*/,`=;expires=${newDate().toUTCString()};path=/`)))17.检测深色模式constisDarkMode=window.matchMedia&&window.matchMedia('(prefers-color-scheme:dark)').matches18.交换两个变量[foo,bar]=[bar,foo]19.暂停一个whileconstpause=(millis)=>newPromise(resolve=>setTimeout(resolve,millis))constfn=async()=>{awaitpause(1000)console.log('fatfish')//1slater}fn()最后,以上就是我今天分享给大家的19条JavaScript单行代码。我希望它对你有用。如果觉得对你有帮助,请点赞,关注我,并分享给你的作者朋友本文,最后,感谢阅读,祝编程愉快!