>  기사  >  웹 프론트엔드  >  2018년 프론트엔드 인터뷰에 대한 일반적인 알고리즘 질문

2018년 프론트엔드 인터뷰에 대한 일반적인 알고리즘 질문

php中世界最好的语言
php中世界最好的语言원래의
2018-03-09 14:14:065054검색

이번에는 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(&#39;&#39;).sort().join(&#39;&#39;);  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(&#39;afjghdfffffraaaasdddddenas&#39;));

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(&#39;,&#39;).split(&#39;,&#39;)),    min:Math.min.apply(null,arr.join(&#39;,&#39;).split(&#39;,&#39;))
  }
}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를 보낸 다음 콜백을 실행하기 위한 팁

의사 요소 첫 글자를 사용하여 텍스트의 첫 글자를 대문자로 사용하는 방법

JavaScript 함수에 대한 자세한 설명 과부하

위 내용은 2018년 프론트엔드 인터뷰에 대한 일반적인 알고리즘 질문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.