作者:SimonHoldorf译者:前端小智来源:webdevhub点赞再看,养成习惯GitHubhttps://github.com/qq44924588已经收录到网站了,也整理了更多往期好评文章,也整理了很多我的文档和教程资料。欢迎来到星和完美。面试时可参考考点复习。我希望我们能在一起。毫无疑问,JavaScript是最流行的Web开发编程语言之一。无论您使用的是React、Vue还是Angular,它都只是JavaScript。JS围绕着一个庞大而重要的生态系统发展,提供了无数的框架和库来帮助我们更快地开发应用程序。但有时最好退后一步,尝试理解如何在不使用库的情况下做事。看看下面的代码片段,它们很优雅地解决了简单的问题,而且在日常项目中也很实用,所以做笔记,遇到问题直接使用。1.字符串反转在本例中,我们使用展开运算符、Array的reverse方法和String的join方法对给定的字符串进行反转。constreverseString=string=>[...string].reverse().join('')//示例reverseString('Medium')//"muideM"reverseString('BetterProgramming')//"gnimmargorPretteB"2.计算指定数的阶乘constfactorialOfNumber=number=>number<0?(()=>{thrownewTypeError('请输入一个正整数')})():number<=1?1:number*factorialOfNumber(number-1)//示例factorialOfNumber(4)//24factorialOfNumber(8)//403203。将数字转换为数字数组constconverToArray=number=>[...`${number}`].map(el=>parseInt(el))//示例converToArray(5678)//[5,6,7,8]converToArray(12345678)//[1,2,3,4,5,6,7,8]4.检查数字是否是2的幂constisNumberPowerOfTwo=number=>!!number&&(number&(number-1))==0//exampleisNumberPowerOfTwo(100)//falseisNumberPowerOfTwo(128))//true5.从对象数组创建键值对constkeyValuePairsToArray=object=>Object.keys(object).map(el=>[el,object[el]])//examplekeyValuePairsToArray({Better:4,编程:2})//[['Better',4],['Programming',2]]keyValuePairsToArray({x:1,y:2,z:3})//[['x',1],['y',2],['z',3]]6.返回数字数组中的最大值constmaxElementsFromArray=(array,number=1)=>[...array].sort((x,y)=>y-x).slice(0,number)//casemaxElementsFromArray([1,2,3,4,5])//[5]maxElementsFromArray([7,8,9,10,10],2)//[10,10]7.检查数组中的所有元素是否相等constelementsAreEqual=array=>array.every(el=>el===array[0])//ExampleelementsAreEqual([9,8,7,6,5,4])//falseelementsAreEqual([4,4,4,4,4])//true8.返回数字的平均值constaverageOfTwoNumbers=(...numbers)=>numbers.reduce((accumulator,currentValue)=>accumulator+currentValue,0)/numbers.length//示例averageOfTwoNumbers(...[6,7,8])//7averageOfTwoNumbers(...[6,7,8,9])//7.5阿里云中间件团队兄弟推服务器,比较便宜:74一年,223,119一年在香港三年(免备案),比学生便宜9.9一个月,买来送自己或者女朋友,马上过年再合适不过了,买个项目给面试官看也不错,还有您还可以熟悉技术堆栈。有需要的可以了解一下:https://cn.aliyun.com/minisit...9.返回两个或多个数的和constsumOfNumbers=(...array)=>[...数组].reduce((accumulator,currentValue)=>accumulator+currentValue,0)//示例sumOfNumbers(5,6,7,8,9,10)//45sumOfNumbers(...[1,2,3,4,5,6,7,8,9,10])//5010。返回数字数组的幂集。所谓幂集(PowerSet)就是由原集合中的所有子集(包括完全集和空集)组成的集合族,是可数集是最小的无限集;其幂集对应实数集(也称同势),是不可数集。并非所有的不可数集合都具有与实数集合相同的势,而且集合的势可以无限大。例如,实数集的幂集也是不可数集,但其势比实数集大。假设X是有限集,|X|=k,则X的幂集势为2的k次方。constpowersetOfArray=array=>array.reduce((accumulator,currentValue)=>accumulator.concat(accumulator.map(el=>[currentValue].concat(el))),[[]])//示例powersetOfArray([4,2])//[[],[4],[2],[2,4]]powersetOfArray([1,2,3])//[[],[1],[2],[2,1],[3],[3,1],[3,2],[3,2,1]]代码部署后可能存在的bug无法实时获知,花了一个解决这些BUG费了很大的功夫有时间进行日志调试了,顺便推荐一个好用的BUG监控工具Fundebug。原文:https://webdevhub.net/article...每周更新交流文章。可以微信搜索“大千世界”阅读即时更新(比博文早一两篇)。这篇文章在GitHubhttps://github.com/qq449245884/xiaozhi已经收录,整理了很多我的文档。欢迎star和改进。可以参考考点面试。另外,关注公众号,后台会回复福利,看到福利就知道了。
