이번에는 2018년 프론트엔드 면접 공통 알고리즘 질문과 2018년 프론트엔드 면접 Notes은 무엇인지 알려드립니다. 실제 사례를 살펴보겠습니다.
【관련 권장 사항: 프런트엔드 면접 질문(2020)】
1ObjectConvert to array
var obj={ 0:'我', 1:'的', 2:'妈', 3:'呀', length:4}//obj格式必须是类似数组的格式(键值是索引,具有length属性)var _slice=[].slice;var objArr=_slice.call(obj);
2. string
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에서 가장 자주 사용되는 문자를 계산합니다. 양수 배열 최대 차이
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. 배열에서 최대값 또는 최소값 가져오기
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. 지정된 길이의 임의의 영숫자 문자열 생성
function getRandomStr(len) { var str = ""; for( ; str.length < len; str += Math.random().toString(36).substr(2)); return str.substr(0, len); }
이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 내용을 알고 싶다면 PHP 중국어 웹사이트other관련 기사를 팔로우하세요!
관련 읽기:
jq를 사용하여 여러 ajax를 보낸 다음 콜백을 실행하기 위한 팁
의사 요소 첫 글자를 사용하여 텍스트의 첫 글자를 대문자로 사용하는 방법
위 내용은 2018년 프론트엔드 인터뷰에 대한 일반적인 알고리즘 질문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!