当前位置: 首页 > Web前端 > JavaScript

18个杀手级JavaScript单行代码

时间:2023-03-26 23:49:59 JavaScript

1.复制到剪贴板使用navigator.clipboard.writeText可以轻松地将任何文本复制到剪贴板。constcopyToClipboard=(text)=>navigator.clipboard.writeText(text);copyToClipboard("你好世界");复制代码2.检查日期是否有效使用以下代码片段检查给定日期是否有效。constisDateValid=(...val)=>!Number.isNaN(newDate(...val).valueOf());isDateValid("December17,199503:24:00");//结果:true复制代码3.找出一年中的哪一天来找到给定日期的哪一天。constdayOfYear=(date)=>Math.floor((date-newDate(date.getFullYear(),0,0))/1000/60/60/24);dayOfYear(新日期());//Result:272Copycode4.将第一个字符串大写Javascript没有内置的大写函数,所以我们可以使用下面的代码。constcapitalize=str=>str.charAt(0).toUpperCase()+str.slice(1)capitalize("followformore")//结果:Followformore复制代码5.求两个日期之间的天数使用以下代码片段查找给定2个日期之间的天数。constdayDif=(date1,date2)=>Math.ceil(Math.abs(date1.getTime()-date2.getTime())/86400000)dayDif(新日期("2020-10-21"),新日期("2021-10-22"))//Result:366Copycode6.清除所有cookies通过使用document.cookie访问cookie并清除它,可以轻松清除网页中存储的所有cookies。constclearCookies=document.cookie.split(';').forEach(cookie=>document.cookie=cookie.replace(/^+/,'').replace(/=.*/,`=;expires=${newDate(0).toUTCString()};path=/`));复制代码7.生成随机十六进制您可以使用Math.random和padEnd属性生成随机十六进制颜色。constrandomHex=()=>`#${Math.floor(Math.random()*0xffffff).toString(16).padEnd(6,"0")}`console.log(randomHex());//结果:#92b008重复代码8.从数组中删除重复项您可以使用JavaScript中的Set轻松删除重复项。constremoveDuplicates=(arr)=>[...newSet(arr)];console.log(removeDuplicates([1,2,3,3,4,4,5,5,6]));//结果:[1,2,3,4,5,6]复制代码9.获取来自URL的查询参数您可以通过传递window.location或原始URL轻松地从url检索查询参数goole.com?search=easy&page=3constgetParameters=(URL)=>{URL=JSON.parse('{"'+decodeURI(URL.split("?")[1]).replace(/"/g,'\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}');returnJSON.stringify(URL);};getParameters(window.location)//Result:{search:"easy",page:3}复制代码10.从日期记录时间我们可以记录从给定日期开始的时间格式小时::分钟::秒。consttimeFromDate=date=>date.toTimeString().slice(0,8);console.log(timeFromDate(新日期(2021,0,10,17,30,0)));//Result:"17:30:00"复制代码11,检查数字是偶数还是奇数constisEven=num=>num%2===0;console.log(isEven(2));//结果:TrueCopy代码12,求数Average使用reduce方法求多个数之间的平均值。constaverage=(...args)=>args.reduce((a,b)=>a+b)/args.length;average(1,2,3,4);//结果:2.5复制代码13,反转字符串您可以使用split、reverse和join方法轻松反转字符串。constreverse=str=>str.split('').reverse().join('');reverse('你好世界');//结果:'dlrowolleh'复制代码14,检查数组是否为空check一个简单的单行代码,如果数组为空则返回true或false。constisNotEmpty=arr=>Array.isArray(arr)&&arr.length>0;isNotEmpty([1,2,3]);//Result:true复制代码15.获取选中的文本使用内置的getSelection属性来获取用户选择的文本。constgetSelectedText=()=>window.getSelection().toString();getSelectedText();语言:CopyCode16.ShufflingArrays使用sort和random方法对数组进行洗牌非常容易。constshuffleArray=(arr)=>arr.sort(()=>0.5-Math.random());console.log(shuffleArray([1,2,3,4]));//Result:[1,4,3,2]CopyCode17.DetectDarkMode使用以下代码检查用户的设备是否处于黑暗模式。constisDarkMode=window.matchMedia&&window.matchMedia('(prefers-color-scheme:dark)').matchesconsole.log(isDarkMode)//Result:TrueorFalse复制代码18,将RGB转换为十六进制constrgbToHex=(r,g,b)=>"#"+((1<<24)+(r<<16)+(g<<8)+b).toString(16).slice(1);rgbToHex(0,51,255);//Result:#0033ff复制代码最后,如果您觉得本文对您有帮助,请点个赞。或者可以加入我的开发交流群:1025263163互相学习。我们会有专业的技术解答。如果您觉得这篇文章对您有用,请给我们的开源项目一个小星星:https://gitee。com/中邦科技非常感谢!