중첩 개체 병합
질문: 중첩된 JavaScript 객체를 평면화하는 함수를 작성하세요.
코드 :
function flattenObject(obj, prefix = '', res = {}) { ** for (let key in obj) {** ** const newKey = prefix ? ${prefix}.${key} : key;** ** if (typeof obj[key] === 'object' && obj[key] !== null) {** ** flattenObject(obj[key], newKey, res);** ** } else {** ** res[newKey] = obj[key];** ** }** ** }** ** return res;** } console.log(flattenObject({ a: { b: { c: 1 } }, d: 2 })); // Output: { 'a.b.c': 1, d: 2 }
2. 배열에서 중복 찾기
질문: 배열에서 중복된 값을 찾는 함수를 작성하세요.
코드 :
function findDuplicates(arr) { ** const counts = {};** ** return arr.filter(item => counts[item] ? true : (counts[item] = 1, false));** } console.log(findDuplicates([1, 2, 2, 3, 4, 4, 5])); // Output: [2, 4]
3. 디바운스 구현
질문: 함수 호출 속도를 제한하는 디바운스 함수를 작성하세요.
코드 :
function debounce(func, delay) { ** let timer;** ** return function (...args) {** ** clearTimeout(timer);** ** timer = setTimeout(() => func.apply(this, args), delay);** ** };** } const log = debounce(() => console.log('Logged after 1s'), 1000); log();
4. 문자열을 재귀적으로 뒤집기
질문: 문자열을 뒤집는 재귀 함수를 작성해 보세요.
코드 :
function reverseString(str) { ** if (str === "") return "";** ** return reverseString(str.slice(1)) + str[0];** } console.log(reverseString("hello")); // Output: "olleh"
5. 회문 확인
질문 : 문자열이 회문인지 확인하는 함수를 작성하세요.
코드 :
function isPalindrome(str) { ** const cleaned = str.toLowerCase().replace(/[^a-z]/g, '');** ** return cleaned === cleaned.split('').reverse().join('');** } console.log(isPalindrome("A man, a plan, a canal, Panama")); // Output: true
자세히 보기... ⇲
JavaScript 면접 질문 및 코드 답변
React는 코드로 인터뷰 질문과 답변을 제공합니다.
각도 면접 질문
답변 및 코드와 함께 CSS 인터뷰 질문
위 내용은 JavaScript 면접 질문 및 코드 답변의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!