今天总结了这些技巧,希望对你有所帮助。1.判断日期是否正确该方法用于检查给定的日期是否有效。constisDateValid=(...val)=>!Number.isNaN(newDate(...val).valueOf());isDateValid("2022年12月27日13:14:00");//真2。计算两个日期之间的间隔此方法用于计算两个日期之间的间隔。constdayDif=(date1,date2)=>Math.ceil(Math.abs(date1.getTime()-date2.getTime())/86400000)dayDif(新日期("2022-08-27"),新日期("2022-12-25"))//距离圣诞节还有120120天。3.判断日期在一年中的第几天该方法用于检测给定日期在一年中的第几天。constdayOfYear=(date)=>Math.floor((date-newDate(date.getFullYear(),0,0))/1000/60/60/24);dayOfYear(新日期());//2392022这一年已经过去了239天。4.格式化时间该方法可以将时间转换为hh:mm:ss格式。consttimeFromDate=date=>date.toTimeString().slice(0,8);timeFromDate(新日期(2021,11,2,12,30,0));//12:30:00timeFromDate(newDate());//现在时间09:00:005。字符串首字母大写该方法用于将字符串的首字母大写。constcapitalize=str=>str.charAt(0).toUpperCase()+str.slice(1)capitalize("helloworld")//Helloworld6.Flipstring该方法用于对字符串进行翻转,并返回翻转后的字符串。constreverse=str=>str.split('').reverse().join('');reverse('你好世界');//'dlrowolleh'7.Randomstring该方法用于生成随机字符串。constrandomString=()=>Math.random().toString(36).slice(2);randomString();8.字符串截断此方法将字符串截断为指定长度。consttruncateString=(string,length)=>string.length(newDOMParser().parseFromString(html,'text/html')).body.textContent||'';10.Removingduplicatesfromarrays去除重复元素是我们在数组中经常做的事情之一,这里介绍两种方法,根据情况选择使用。1),constremoveDuplicates=(arr)=>[....newSet(arr)];console.log(removeDuplicates([1,2,2,3,3,4,4,5,5,6]));2),constnum=[1,2,2,2,5,66,666,55,5]constname=["adarsh","gupta","adarsh","raj","ratesh","raj"]constuniquenum=[...newSet(num)]//[1,2,5,66,666,55]constuniquenames=[...newSet(name)//["adarsh","gupta","raj","ratesh"]11。判断数组是否为空1)、使用isArray方法判断数组是否为空,通过传入数组确认Object.keys(arr)的长度。Object.keys()方法返回给定对象自己的可枚举属性名称的数组,迭代顺序与普通循环相同。constisArrayNotEmpty=(arr)=>Array.isArray(arr)&&Object.keys(arr).length>0;//例子isArrayNotEmpty([]);//falseisArrayNotEmpty([1,2,3]);//true2),该方法用于判断一个数组是否为空数组,返回一个布尔值。constisNotEmpty=arr=>Array.isArray(arr)&&arr.length>0;isNotEmpty([1,2,3]);//真12。合并两个数组可以使用以下两种方法合并两个数组:constmerge=(a,b)=>a.concat(b);constmerge=(a,b)=>[..A,.b];13.判断一个数是奇数还是偶数这个方法用于判断一个数是奇数还是偶数。constisEven=num=>num%2===0;偶数(996);14.获取一组数字的平均值constaverage=(..args)=>args.reduce((a,b)=>a+b)/args.length;平均值(1、2、3、4、5);//315.从两个整数中确定随机整数该方法用于获取两个整数之间的随机整数。constrandom=(min,max)=>Math.floor(Math.random()*(max—min+1)+min);随机(1,50);16.四舍五入到指定位数该方法可用于将数字四舍五入到指定位数。constround=(n,d)=>Number(Math.round(n+“e”+d)+“e-”+d)round(1.005,2)//1.01round(1.555,2)//1.5617.RGB到十六进制的转换机制此方法可以将RGB颜色值转换为十六进制值。constrgbToHex=(r,g,b)=>"#"+((1<<24)+(r<<16)+(g<<8)+b).toString(16).slice(1);rgbToHex(255,255,255);//'#ffffff'18.随机选择一个十六进制颜色该方法用于获取一个随机的十六进制颜色值。constrandomHex=()=>`#${Math.floor(Math.random()*0xffffff).toString(16).padEnd(6,"0")}`;随机十六进制();19.将内容复制到剪贴板该方法使用navigator.clipboard.writeText将文本复制到剪贴板。constcopyToClipboard=(text)=>navigator.clipboard.writeText(text);copyToClipboard("HelloWorld");20、删除所有cookies该方法使用document.cookie访问cookies,清除网页保存的所有cookies。constclearCookies=document.cookie.split(';').forEach(cookie=>document.cookie=cookie.replace(/^+/,'').replace(/=.*/,`=;expires=${newDate(0).toUTCString()};path=/`));21、获取选中的文本该方法通过内置的getSelection属性获取用户选中的文本。constgetSelectedText=()=>window.getSelection().toString();getSelectedText();22、判断是否处于深色模式该方法用于检测当前环境是否处于深色模式,为布尔值。constisDarkMode=window.matchMedia&&window.matchMedia('(prefers-color-scheme:dark)').matchesconsole.log(isDarkMode)23.导航到页面顶部该方法用于返回到页面顶部页。constgoToTop=()=>window.scrollTo(0,0);转到顶部();24、判断当前标签页是否激活该方法用于判断当前标签页是否激活。constisTabInView=()=>!document.hidden;25、判断当前设备是否为苹果设备该方法用于判断当前设备是否为苹果设备。constisAppleDevice=()=>/Mac|iPod|iPhone|iPad/.test(navigator.platform);isAppleDevice();26.是否滚动到页面底部该方法用于判断页面是否在底部。constscrolledToBottom=()=>document.documentElement.clientHeight+window.scrollY>=document.documentElement.scrollHeight;27.重定向到一个URL这个方法用于重定向到一个新的URL。constredirect=url=>location.href=urlredirect("https://www.google.com/")28。打开浏览器打印框该方法用于打开浏览器打印框。constshowPrintDialog=()=>window.print()29.生成随机字符串有时可能会出现需要生成随机字符串的情况,请使用此代码片段来获取它。constrandomstr=Math.random().toString(36).substring(7)由于字符串化浮点数时尾随零被删除,它将产生0到6个字符之间的任何字符。30.反转字符串反转字符串从未如此简单,首先我们将其转换为数组(字符数组),现在我们反转该数组,然后将该数组转换为字符串。使用这个单行代码来实现这一点:constrev=(str)=>str.split("").reverse().join("")31.随机布尔值此方法返回一个随机布尔值。使用Math.random(),您可以从0-1中取一个随机数,将其与0.5进行比较,并以一半的概率得到真值或假值。constrandomBoolean=()=>Math.random()>=0.5;randomBoolean();32.切换变量下面的形式可以用来交换两个变量的值,而不需要应用第三个变量。[foo,bar]=[bar,foo];33.获取变量的类型该方法用于获取变量的类型。consttrueTypeOf=(obj)=>Object.prototype.toString.call(obj).slice(8,-1).toLowerCase();trueTypeOf('');//字符串真实类型(0);//numbertrueTypeOf();//undefinedtrueTypeOf(null);//nulltrueTypeOf({});//objecttrueTypeOf([]);//arraytrueTypeOf(0);//numbertrueTypeOf(()=>{});//函数34.FahrenheittoCelsiusConvert该方法用于摄氏度和华氏度之间的转换。constcelsiusToFahrenheit=(celsius)=>摄氏度*9/5+32;constfahrenheitToCelsius=(fahrenheit)=>(fahrenheit—32)*5/9;摄氏度到华氏度(15);//59摄氏度到华氏度(0);//32摄氏度到华氏度(-20);//-4华氏度到摄氏度(59);//15华氏度到摄氏度(32);//035.Checkiftheobjectisempty该方法用于检查JavaScript对象是否为空。constisEmpty=obj=>Reflect.ownKeys(obj).length===0&&obj.constructor===Object;36.打乱数组,返回一个数组可以使用math模块的random方法打乱数组。constshuffle=array=>array.sort(()=>0.5-Math.random());//outputshuffle([1,5,2,45])[5,2,1,25]Math.random()返回一个介于0和1之间的随机数。所以如果恰好给你一个小于0.5的数字,那么,你得到一个负数,如果超过,那么你得到一个正数。在这个比较函数中选择0.5的原因是,如果你从0和1的每个端点减去0.5,你得到一个新的范围-0.5和+0.5,但不包括+0.5,因为原来的1不包括在Math中.random()函数的结果。所以当从这个范围返回一个随机数时,它几乎是正数或负数的可能性是一样的,有时它也会是零。37.检测深色模式在某些情况下,我们可能希望在激活深色模式时做一些额外的事情,使用此代码来检查深色模式是打开还是关闭。constisDark=window.matchMedia&&window.matchMedia(`(prefers-color-scheme:dark)`).match38。交换两个变量下面的代码是不使用第三个变量而只使用一行代码交换两个变量的比较简单的方法之一。[var1,var2]=[var2,var1];总结一下JavaScript的一行代码技巧,之前分享过一些,但是没有今天那么全。今天分享的代码基本都是我们日常开发中用到的一些单行的.希望大家能从今天的内容中学到一些新的内容,帮助大家提高开发效率。好了,今天的内容就分享到这里了。如果觉得有用,记得点赞,关注我,分享给你的朋友,说不定能帮到他。最后,感谢阅读,祝编程愉快!