기본 자바스크립트 인터뷰 연습
지금 http://jauyeung.net/subscribe/에서 내 이메일 목록을 구독하십시오.
프론트엔드 개발자로 일하려면 코딩 인터뷰를 해야 합니다.
이 기사에서는 모든 사람이 알아야 할 몇 가지 간단한 준비 질문을 살펴보겠습니다.
문자열을 뒤집는 함수 작성
JavaScript의 문자열 및 배열 메서드를 사용하여 문자열을 쉽게 뒤집을 수 있습니다.
이를 위해 다음 함수를 작성할 수 있습니다.
const reverseString = (str) => str.split('').reverse().join('');
이 함수는 문자열을 문자 배열로 분할한 다음 배열을 뒤집고 다시 결합하는 방식으로 작동합니다.
JavaScript 문자열의
split
메소드와 배열의 reverse
및 join
메소드를 사용했습니다.목록에서 숫자를 필터링하는 함수를 작성하세요.
isNaN
함수와 배열의 filter
메서드로 그렇게 할 수 있습니다.이 문제를 해결하기 위해 다음 코드를 작성할 수 있습니다.
const removeNums = (arr) => arr.filter(a => isNaN(+a));
removeNums
함수에서 배열arr
을 전달한 다음 filter
를 반환하는 콜백으로 배열에 isNaN(+a)
를 호출합니다. 이는 변환을 시도할 때 항목이 true
로 변환되는 경우 NaN
입니다. 숫자로 합니다.정렬되지 않은 목록에서 요소를 찾는 함수를 작성하세요.
배열의
findIndex
메서드를 사용하여 정렬되지 않은 목록에서 요소를 찾을 수 있습니다.다음 함수를 작성합니다.
const search = (arr, searchItem) => arr.findIndex(a => a === searchItem);
검색을 수행합니다.
findIndex
메서드는 콜백의 조건을 충족하는 첫 번째 항목의 인덱스를 반환합니다.다음과 같이 사용할 수 있습니다.
console.log(search(['foo', 'bar', 1], 'foo'));
문자열 검색
'foo'
. 그러면 'foo'
가 배열의 첫 번째 항목이기 때문에 0을 얻어야 합니다.클로저의 사용법을 보여주는 함수를 작성하십시오.
클로저는 함수를 반환하는 함수입니다. 일반적으로 외부에서 데이터가 노출되지 않도록 외부 함수 내부에 일부 데이터를 숨기는 데 사용됩니다.
다음과 같이 작성하면 됩니다.
const multiply = (first) => {
let a = first;
return (b) => {
return a * b;
};
}
그런 다음 다음과 같이 작성하여 호출할 수 있습니다.
console.log(multiply(2)(3));
우리를 얻는 것은 6.
약속이란 무엇입니까? Promise를 반환하는 함수를 작성하세요.
Promise는 불확실한 시간에 실행되는 비동기 코드입니다.
보류, 이행 또는 거부 상태가 있을 수 있습니다. Fulfilled는 성공을 의미하고, Rejected는 실패했음을 의미합니다.
약속의 예는 Fetch API입니다. 그것은 약속을 반환하고 우리는 그것을 스스로 약속을 반환하는 데 사용할 수 있습니다.
예를 들어 다음과 같이 작성할 수 있습니다.
const getJoke = async () => {
const res = await fetch('http://api.icndb.com/jokes/random')
const joke = await res.json();
return joke;
}
Chuck Norris API에서 농담을 얻으려면
항목 목록을 평면화하는 함수를 작성하세요.
배열
flat
메서드를 사용하여 항목 배열을 평면화할 수 있습니다.예를 들어 다음과 같이 작성할 수 있습니다.
const flatten = arr => arr.flat(Infinity);
배열의 모든 수준을 한 수준으로 병합합니다.
또한 배열의 각 항목을 반복하고 중첩 배열을 한 수준으로 재귀적으로 평면화할 수 있습니다.
예를 들어 다음과 같이 작성할 수 있습니다.
const flatten = (arr = []) => {
let result = [];
for (let item of arr) {
if (Array.isArray(item)) {
result = result.concat(flatten(item));
} else {
result = result.concat(item);
}
}
return result;
}
배열을 평평하게 합니다.
코드는 배열의 각 항목을 반복하여 작동합니다. 그런 다음 항목에서 배열을 찾고
flatten
자체를 호출한 다음 result
에 추가합니다. 그렇지 않으면 항목을 result
배열에 추가합니다.모든 레벨을 거친 후 반환됩니다
result
.두 숫자 **a**와 **b**를 받아들이고 **a**와 **b**의 나눗셈과 **a**와 **b**의 모듈로를 모두 반환하는 함수를 작성하세요. .
/
연산자를 사용하여 a
와 b
를 나누고 %
연산자를 사용하여 a
를 b
로 나눌 때 나머지를 찾습니다.이를 위해 다음 함수를 작성할 수 있습니다.
const divMod = (a, b) => {
if (b !== 0) {
return [a / b, a % b];
}
return [0, 0];
}
제수가 0인지 확인한 다음 언급한 대로 연산을 수행하고 계산된 항목을 배열로 반환합니다.
결론
우리는 우리의 삶을 더 쉽게 만들기 위해 가능한 한 많이 배열과 문자열 방법을 사용할 수 있습니다.
그들은 또한 우리가 처음부터 구현하는 것보다 더 효율적입니다.
Reference
이 문제에 관하여(기본 자바스크립트 인터뷰 연습), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aumayeung/basic-javascript-interview-exercises-3306텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)