前端手写题 - 导览
2024年1月28日
💎 加入 E+ 成長計畫 如果你喜歡我們的內容,歡迎加入 E+,獲得更多深入的軟體前後端內容
本系列汇整了常见的前端面试手写题,包含 Lodash 效用函式、Promise、数组操作等题目的详解
Closure 系列
Array 系列
Function 系列
Promises and Time 系列
- [Easy] LeetCode JS 30 - 2723. Add Two Promises (将两个 Promise 结果相加)
- [Easy] LeetCode JS 30 - 2621. Sleep (手写 sleep)
- [Easy] LeetCode JS 30 - 2715. Timeout Cancellation (可取消的延迟函式)
- [Easy] LeetCode JS 30 - 2725. Interval Cancellation (可取消的间隔函式)
- [Medium] LeetCode JS 30 - 2637. Promise Time Limit
- [Medium] LeetCode JS 30 - 2622. Cache with Time Limit
- [Medium] LeetCode JS 30 - 2627. Debounce (手写防抖函式)
- [Medium] LeetCode JS 30 - 2721. Execute Asynchronous Functions in Parallel (手写 Promise.all)
JSON 系列
- [Easy] LeetCode JS 30 - 2727. Is Object Empty (判断物件是否为空)
- [Easy] LeetCode JS 30 - 677. Chunk Array(阵列分块)
- [Easy] LeetCode JS 30 - 2619. Array Prototype Last (阵列的最后一个元素)
- [Medium] LeetCode JS 30 - 2631. Group By (阵列分组)
- [Easy] LeetCode JS 30 - 2724. Sort By (依据排序)
- [Medium] LeetCode JS 30 - 2722. Join Two Arrays by ID (根据 ID 合并两个阵列)
- [Medium] LeetCode JS 30 - 2625. Flatten Deeply Nested Array (阵列扁平化)
- [Medium] LeetCode JS 30 - 2705. Compact Object (精简物件)
Classes 系列
其他常见题目
- [Easy] 手写数组 square
- [Easy] 手写 inRange
- [Easy] 手写 clamp
- [Easy] 手写 compact
- [Easy] 手写 difference
- [Easy] 手写 dropWhile
- [Easy] 手写 dropRightWhile
- [Easy] 手写 fill
- [Easy] 手写 fromPairs
- [Easy] 手写阵列 findIndex
- [Easy] JavaScript 阵列去除重复 removeDuplicates
- [Easy] 实作 Array.prototype.at
- [Medium] 请实现 Lodash 的 .get()
- [Medium] 手写 cloneDeep (深拷贝)
- [Medium] 手写 isEqual(深比较)
- [Medium] 手写节流 (throttle) 函式
- [Medium] 手写函式缓存 (cache function)
- [Medium] 手写 consolidateData(整合数据)
- [Medium] 手写 Repeat