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

Web前端实训:js算法面试es6实现

时间:2023-03-28 17:17:44 HTML

1.js统计字符串中出现频率最高的字母/数字letstr='asdfghjklaqwertyuiopiaia';conststrChar=str=>{letstring=[...str],maxValue='',obj={},max=0;string.forEach(value=>{obj[value]=obj[value]==undefined?1:obj[value]+1if(obj[value]>max){max=obj[value]maxValue=value}})returnmaxValue;}console.log(strChar(str))//a2,数组去重2.1,forEachletarr=['1','2','3','1','a','b','b']constunique=arr=>{letobj={}arr.forEach(value=>{obj[value]=0})returnObject.keys(obj)}console.log(unique(arr))//['1','2','3','a','b']2.2,filterletarr=['1','2','3','1','a','b','b']constunique=arr=>{returnarr.filter((ele,index,array)=>{returnindex===array.indexOf(ele)})}console.log(unique(arr))//['1','2','3','a','b']2.3,setletarr=['1','2','3','1','a','b','b']constunique=arr=>{return[...newSet(arr)]}console.log(unique(arr))//['1','2','3','a','b']2.4,reduceletarr=['1','2','3','1','一个','b','b']constunique=arr.reduce((map,item)=>{map[item]=0returnmap},{})console.log(Object.keys(unique))//['1','2','3','a','b']3.反转字符串letstr="HelloDog";constreverseString=str=>{return[...str].reverse().join("");}console.log(reverseString(str))//goDolleH_web前端训练4,数组4.1中的最大差值,forEachletarr=[23,4,5,2,4,5,6,6,71,-3];constdifference=arr=>{letmin=arr[0],max=0;arr.forEach(value=>{if(valuemax)max=value})returnmax-min;}console.log(difference(arr))//744.2,max,minletarr=[23,4,5,2,4,5,6,6,71,-3];constdifference=arr=>{letmax=Math.max(...arr),min=Math.min(...arr);returnmax-min;}console.log(difference(arr))//745,不借助临时变量,交换两个整数5.1、数组解构leta=2,b=3;[b,a]=[a,b]console.log(a,b)//325.2、算术运算(加法和减法)输入a=2,b=3,输出a=3,b=2让a=2,b=3;constswop=(a,b)=>{b=b-a;a=a+b;b=a-b;返回[a,b];}console.log(swop(2,3))//[3,2]5.3,逻辑运算(异或)让a=2,b=3;constswop=(a,b)=>{a^=b;//x先存储x和y两者的信息b^=a;//保持x不变,用异或将y的原值取反,使其等于x_front-end训练的原值a^=b;//保持y不变,用异或将y的原值取反,使其等于y的原值return[a,b];}console.log(swop(2,3))//[3,2]6.排序(从小到大)6.1、冒泡排序让arr=[43,32,1,5,9,22];constsort=arr=>{arr.forEach((v,i)=>{for(letj=i+1;jarr[j]){[arr[i],arr[j]]=[arr[j],arr[i]]}}})returnarr}console.log(sort(arr))//[1,5,9,22,[32,43]文章来自web前端学习圈