Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/noiron/frontend-coding-challenge


https://github.com/noiron/frontend-coding-challenge

Last synced: about 4 hours ago
JSON representation

Awesome Lists containing this project

README

        

这是一个收集了前端方面手写题的仓库,适合于前端开发平时拿来练习或者用于准备面试。

题目收集自网络及我在面试中遇到的问题。每道题目有相应的 Jest 测试文件(在 ChatGPT 的帮助下生成),可以用于测试代码的正确性。

使用 `npx jest [文件夹名]` 来单独测试一道题目,比如 `npx jest promise-with-timeout`。

## 题目列表

1. [`call`](./call/readme.md)
1. [`apply`](./apply/readme.md)
1. [`bind`](./bind/readme.md)
1. [实现一个 `new` 方法](./new/index.md)
1. [实现一个 `instanceof` 方法](./instanceof/readme.md)
1. [`debounce`](./debounce/readme.md)
1. [`throttle`](./throttle/readme.md)
1. [实现数组的 flat 方法](./flat-array/readme.md)
1. [扁平化一个对象](./flat-object/readme.md)
1. [函数柯里化](./curry/readme.md)
1. [使用 `setTimeout` 来实现 `setInterval`](./set-interval/readme.md)
1. [实现 `Promise.all`](./promise.all/readme.md)
1. [实现 `Promise.prototype.finally()`](./promise-finally/readme.md)
1. [实现会超时的 Promise](./promise-with-timeout/readme.md)
1. [实现 promise](./promise/readme.md) #todo
1. [实现 `promisify`](./promisify/readme.md)
1. [深拷贝 deep clone](./deep-clone/readme.md)
1. [实现 EventEmitter](./event-emitter/readme.md)
1. [模板字符串生成](./template-string/readme.md)
1. [带并发限制的异步调度器](./scheduler/readme.md)
1. [实现数字整数部分的千分位分隔符](./thousands-comma-separator/readme.md)
1. [打乱数组](./shuffle-array/readme.md)
1. [驼峰命名和连字符间的转换](./camel-or-dash/readme.md)
1. [将数组转换成树结构](./array-to-tree/readme.md)
1. [比较版本号](./compare-versions/readme.md)
1. [将 URL 上的 query string 解析为一个对象](./parse-query-string/readme.md)
1. [统计页面上有多少种标签](./html-element-types/readme.md)
1. [数组去重](./unique/readme.md)
1. [compose](./compose/readme.md) #todo