您好,登錄后才能下訂單哦!
這篇“web前端面試常見算法題有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“web前端面試常見算法題有哪些”文章吧。
1對象轉(zhuǎn)換為數(shù)組
varobj={0:'我',1:'的',2:'媽',3:'呀',length:4}//obj格式必須是類似數(shù)組的格式(鍵值是索引,具有l(wèi)ength屬性)var_slice=[].slice;varobjArr=_slice.call(obj);
2.統(tǒng)計一個字符串出現(xiàn)最多的字母
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.找出下列正數(shù)組的最大差值
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.獲取數(shù)組中最大或者最小值
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.生成指定長度的隨機字母數(shù)字字符串
functiongetRandomStr(len){varstr="";for(;str.length<len;str+=Math.random().toString(36).substr(2));returnstr.substr(0,len);
}
以上就是關(guān)于“web前端面試常見算法題有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。