This time I bring you common algorithm questions for front-end interviews in 2018. What are the precautions for front-end interviews in 2018? Here are practical cases, let’s take a look.
[Related recommendations: Front-end interview questions(2020)]
1ObjectConvert to array
var obj={ 0:'我', 1:'的', 2:'妈', 3:'呀', length:4}//obj格式必须是类似数组的格式(键值是索引,具有length属性)var _slice=[].slice;var objArr=_slice.call(obj);
2. Statistics A stringThe most frequent letters
function countMost(str) { const objCount = {}; str = str.split('').sort().join(''); for(let i=0; i<str.length; i++) { let lastIndex = str.lastIndexOf(str[i]); num = lastIndex - i + 1; objCount[str[i]] = num; i = lastIndex; } let maxStr = [], maxValue = 1; for(let p in objCount) { if(objCount[p] > maxValue) { maxStr = []; maxStr.push(p); maxValue = objCount[p]; }else if(objCount[p] == maxValue){ maxStr.push(p); } } return maxStr.length == 1? maxStr[0] : maxStr; }console.log(countMost('afjghdfffffraaaasdddddenas'));
3. Find the maximum difference between the following positive arrays
const arr = [10,5,11,7,8,9];function getMaxProfit(arr) { let max = arr[0], min = arr[0]; for(let i=1; i<arr.length; i++) { max = Math.max(max,arr[i]); min = Math.min(min,arr[i]); } return max - min; }console.log(getMaxProfit(arr));
4. Get the maximum or minimum value in the array
function maxAndMin(arr){ return { max:Math.max.apply(null,arr.join(',').split(',')), min:Math.min.apply(null,arr.join(',').split(',')) } }var arr = [22,0,[3,4,2,55]]; maxAndMin(arr).max;// 55maxAndMin(arr).min;// 0
5. Generate a random alphanumeric string of specified length
function getRandomStr(len) { var str = ""; for( ; str.length < len; str += Math.random().toString(36).substr(2)); return str.substr(0, len); }
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to the php Chinese websiteOthersrelated articles!
Related reading:
Tips on using jq to send multiple ajax and then execute callbacks
How to use pseudo-element first -letter capitalizes the first letter of the text
##Detailed explanation of JavaScript function overloading
The above is the detailed content of Common algorithm questions for front-end interviews in 2018. For more information, please follow other related articles on the PHP Chinese website!