全世界有超过1000万的Javascript开发人员,而且这个数字每天都在增长。尽管JavaScript因其动态特性而广为人知,但它还有许多其他很酷的特性。在此博客中,我们将介绍您应该知道的20个JavaScript单行代码。1.随机ID生成当您制作原型并需要唯一ID时,这可能是您的首选功能。consta=Math.random().toString(36).substring(2);console.log(a)--------------------------72pklaoe38u2。生成一个范围内的随机数在很多情况下,我们需要生成一个范围内的随机数。Math.random函数可以帮助我们生成随机数,然后将它们转换到想要的范围内。max=20min=10vara=Math.floor(Math.random()*(max-min+1))+min;console.log(a)------------------------173。随机排列数组(shuffle)在JavaScript中,我们没有模块,因为python有random.shuffle(),但仍然有一种方法可以在一行代码中对数组进行随机排列。vararr=["A","B","C","D","E"];console.log(arr.slice().sort(()=>Math.random()-0.5))------------------------------['C','B','A','D','E']4.获取随机布尔值Javascript中的Math.random函数可以用来生成区间之间的随机数.要生成随机布尔值,我们需要随机取一个介于0和1之间的数字,然后检查它是大于还是小于0.5。constrandomBoolean=()=>Math.random()>=0.5;console.log(randomBoolean());------------------------------------false5.生成随机十六进制代码您可以用这个单行代码挑战自己作为Web开发人员。这个单行代码将生成一个随机的十六进制代码。您可以使用一行生成3-6个颜色代码,这将为您创建一个颜色托盘。console.log('#'+Math.floor(Math.random()*0xffffff).toString(16).padEnd(6,'0'));----------------第一次运行------------#48facd----------------第二次运行-------------#93d806----------------3rdRun------------#9072f96。反转字符串有很多方法可以反转字符串,但这是我在Internet上找到的最简单的方法之一。contreverse=str=>str.split('').reverse().join('');console.log(reverse('javascript'));----------------------------------------tpircsavaj7。交换两个变量下面的代码显示了一些不使用第三个变量只需要一行代码就可以交换两个变量的简单方法。a=5b=7------------方法一--------b=[a,a=b][0];//OneLiner---------方法二------------[a,b]=[b,a];console.log("A=",a)console.log("B=",b)8.多变量赋值与Python一样,JavaScript也可以使用这种巧妙的解构技术在同一行代码上同时赋值多个变量。var[a,b,c,d]=[20,14,30,"COD"]console.log(a,b,c,d)----------------------------------201430COD9。检查偶数和奇数有很多方法可以做到这一点,最简单的方法之一是使用箭头函数并将其写在一行代码中。constisEven=num=>num%2===0;console.log(isEven(2));-------------------------------trueconsole.log(isEven(3));--------------------------------false10.FizzBu??zz这道题是著名的面试题之一,用来考察程序员的核心。在这个测试中,我们需要编写一个程序来打印从1到100的数字。但是如果它是3的倍数,它会打印“Fizz”而不是数字,如果它是5的倍数,它会打印“Buzz”.for(i=0;++i<10;console.log(i%5?f||i:f+'Buzz'))f=i%3?'':'Fizz'--------------------------------12Fizz4BuzzFizz78Fizz11.Palindrome回文是一个字符串或数字,当它被反转时看起来完全一样。例如:阿爸、121等。constisPalindrome=str=>str===str.split('').reverse().join('');result=isPalindrome('abcba');console.log(result)---------------------------------trueresult=isPalindrome('abcbc');console.log(result)------------------------------false12。检查数组中的所有元素是否满足某些条件----------------------------falseconstsalarys=[70000,190000,120000,30000,150000,50000]result=salarys.every(hasEnoughSalary)//Resultsinfalseconsole.log(result)--------------------------------true13。计算两个给定日期之间的天数constdays=(date,otherDate)=>Math.ceil(Math.abs(date-otherDate)/(86400000));result=days(newDate('2020-04-15'),newDate('2021-01-15'));console.log(结果)----------------------------------------------------275要计算两个日期之间的天数,我们首先求两个日期之间的绝对值,然后除以它乘以86400000,等于一天的毫秒数,最后,我们四舍五入并返回结果。14.将字符串转换为数字将字符串转换为数字的一种非常简单的方法是使用类型转换。toNumber=str=>+str;toNumber=str=>Number(str);result=toNumber("2");console.log(result)console.log(typeof(result))----------------------------------2number15。合并多个数组constcars=['🚓','🚗'];consttrucks=['🚚','🚛'];-----方法一------constcombined=cars.concat(trucks);console.log(combined)-------------------------------------------------['🚓','🚗','🚚','🚛']-----方法二------constcombined=[].concat(cars,trucks);console.log(合并)-------------------------------------------------['🚓','🚗','🚚','🚛']16。使用Math.Truncate将数字截断为固定小数点。pow()方法可以将数字截断到某个小数点。consttoFixed=(n,fixed)=>~~(Math.pow(10,fixed)*n)/Math.pow(10,fixed);--------------------------------------------------------------toFixed(25.198726354,1);//25.1toFixed(25.198726354,2);//25.19toFixed(25.198726354,3);//25.198toFixed(25.198726354,4);//25.1987toFixed(25.198726325.49);//25.1987toFixed(25.198726325.49);25.198726354,4);25.198726354,6);//25.19872617.滚动到页面顶部window.scrollTo()方法可以帮助您完成任务。它需要滚动到页面上该位置的x和y坐标。如果将它们设置为(0,0),它将滚动到页面顶部。constgoToTop=()=>window.scrollTo(0,0);goToTop();18.将华氏度转换为摄氏度(反之亦然)无论选择华氏度还是摄氏度,都将所有温度参数转换为一个单位始终是一个更好的主意。constcelsiusToFahrenheit=(celsius)=>celsius*9/5+32;constfahrenheitToCelsius=(fahrenheit)=>(fahrenheit-32)*5/9;------示例--------celsiusToFahrenheit(15);//59摄??氏度转华氏度(-20);//-4华氏度转摄氏度(59);//15华氏度转摄氏度(32);//019。具体cookie的值cookie=name=>`;${document.cookie}`.split(`;${name}=`).pop().split(';').shift();cookie('_ga');//Result:"GA1.3.974792242.1509957189"20.CopythetexttoClipboard将文本复制到剪贴板非常有用,也是一个很难解决的问题。您可以在Internet上找到各种解决方案,但下面的解决方案可能是最小和最智能的解决方案之一。constcopyTextToClipboard=async(text)=>{awaitnavigator.clipboard.writeText(text)}21.删除HTML标签这一行使用正则表达式删除任何看起来像字符串的内容,其中x可以是任何字符,包括/"A".replace(/<[^>]+>/gi,"");22.克隆数组它将返回原始数组的副本。oldArray=[1,4,2,3]varnewArray=oldArray.slice(0);console.log(newArray)-------------------------------[1,4,2,3]原文:https://levelup.gitconnected.com/20-useful-javascript-one-liners-that-you-should-know-7f6271426bfb通过AbhayParashar
