温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

web前端面试常见算法题有哪些

发布时间:2022-03-25 13:51:16 来源:亿速云 阅读:168 作者:iii 栏目:web开发

这篇“web前端面试常见算法题有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“web前端面试常见算法题有哪些”文章吧。

  1对象转换为数组

  varobj={0:'我',1:'的',2:'妈',3:'呀',length:4}//obj格式必须是类似数组的格式(键值是索引,具有length属性)var_slice=[].slice;varobjArr=_slice.call(obj);

  2.统计一个字符串出现最多的字母

  functioncountMost(str){constobjCount={};

  str=str.split('').sort().join('');for(leti=0;i<str.length;i++){letlastIndex=str.lastIndexOf(str[i]);

  num=lastIndex-i+1;

  objCount[str[i]]=num;

  i=lastIndex;

  }letmaxStr=[],

  maxValue=1;for(letpinobjCount){if(objCount[p]>maxValue){

  maxStr=[];

  maxStr.push(p);

  maxValue=objCount[p];

  }elseif(objCount[p]==maxValue){

  maxStr.push(p);

  }

  }returnmaxStr.length==1?maxStr[0]:maxStr;

  }console.log(countMost('afjghdfffffraaaasdddddenas'));

  3.找出下列正数组的最大差值

  constarr=[10,5,11,7,8,9];functiongetMaxProfit(arr){letmax=arr[0],

  min=arr[0];for(leti=1;i<arr.length;i++){

  max=Math.max(max,arr[i]);

  min=Math.min(min,arr[i]);

  }returnmax-min;

  }console.log(getMaxProfit(arr));

  4.获取数组中最大或者最小值

  functionmaxAndMin(arr){return{max:Math.max.apply(null,arr.join(',').split(',')),min:Math.min.apply(null,arr.join(',').split(','))

  }

  }vararr=[22,0,[3,4,2,55]];

  maxAndMin(arr).max;//55maxAndMin(arr).min;//0

  5.生成指定长度的随机字母数字字符串

  functiongetRandomStr(len){varstr="";for(;str.length<len;str+=Math.random().toString(36).substr(2));returnstr.substr(0,len);

  }

以上就是关于“web前端面试常见算法题有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI