BFE
.dev
中
刷题练习
发现
中
JavaScript代码题
作为一个前端开发工程师,JavaScript是核心必备技能。
排序
难度
解答状态
选择公司
1. 实现curry()
JavaScript
容易
2. 实现支持placeholder的curry()
JavaScript
中等难度
3. 实现Array.prototype.flat()
JavaScript
容易
4. 手写throttle()
JavaScript
Lodash
中等难度
5. 手写throttle()并支持leading 和 trailing
JavaScript
Lodash
中等难度
6. 手写debounce()
JavaScript
Lodash
容易
7. 手写debounce()并支持leading 和 trailing
JavaScript
Lodash
中等难度
8. 手写shuffle()随机打乱一个数组
JavaScript
中等难度
9. 解密消息
JavaScript
中等难度
10. 找出第一个不良版本
JavaScript
算法
中等难度
11. 什么是Composition?实现pipe()
JavaScript
容易
12. 实现 Immutability helper
JavaScript
中等难度
13. 利用栈(Stack)创建队列(Queue)
JavaScript
Algorithm
中等难度
14. 实现`memo()`
JavaScript
中等难度
15. 实现类似jQuery的DOM wrapper
JavaScript
容易
16. 实现一个Event Emitter
JavaScript
中等难度
17. 实现一个DOM element store
JavaScript
容易
18. 优化一个function
JavaScript
容易
19. 相同结构的DOM tree上面寻找对应的节点
JavaScript
容易
20. 检测 data type
JavaScript
中等难度
21. 手写JSON.stringify()
JavaScript
有点难?
22. 手写JSON.parse()
JavaScript
中等难度
23. 实现一个sum()方法
JavaScript
容易
24. 用JavaScript手写一个Priority Queue
JavaScript
算法
中等难度
25. 更新数组的顺序
JavaScript
算法
容易
26. 实现Object.assign()
JavaScript
中等难度
27. 实现completeAssign()
JavaScript
中等难度
28. 实现clearAllTimeout()
JavaScript
容易
29. 实现async helper - `sequence()`
JavaScript
中等难度
30. 实现async helper - `parallel()`
JavaScript
中等难度
31. 实现async helper - `race()`
JavaScript
容易
32. 实现`Promise.all()`
JavaScript
中等难度
33. 实现`Promise.allSettled()`
JavaScript
中等难度
34. 实现`Promise.any()`
JavaScript
中等难度
35. 实现`Promise.race()`
JavaScript
容易
36. 实现一个 fake timer(setTimeout)
JavaScript
中等难度
37. 手写Binary Search (unique)
JavaScript
容易
38. 实现`jest.spyOn()`
JavaScript
容易
39. 手写range()
JavaScript
容易
40. 实现Bubble Sort
JavaScript
Algorithm
容易
41. 手写Merge Sort
JavaScript
算法
中等难度
42. 手写 Insertion Sort
JavaScript
算法
容易
43. 手写 Quick Sort
JavaScript
算法
中等难度
44. 手写Selection Sort
JavaScript
算法
容易
45. 在未排序的数组中找到第K大的元素
JavaScript
Algorithm
中等难度
46. 实现`_.once()`
JavaScript
Lodash
中等难度
47. 反转链表
JavaScript
算法
容易
48. 含有重复元素的数组中返回特定元素的首次出现的位置
JavaScript
算法
容易
49. 含有重复元素的数组中返回特定元素的最后出现的位置
JavaScript
算法
容易
50. 含有重复元素的数组中返回特定元素之前的元素
JavaScript
算法
容易
51. 含有重复元素的数组中返回特定元素的之后的元素
JavaScript
算法
容易
53. 实现middleware
JavaScript
中等难度
53. 用es5实现`extends`
JavaScript
中等难度
54. 扁平化Thunk
JavaScript
容易
55. HTML字符串中高亮关键字
JavaScript
算法
中等难度
56. 调取有分页的API
JavaScript
中等难度
57. 实现Observable
JavaScript
中等难度
58. 返回DOM tree的高度
JavaScript
算法
DOM
中等难度
59. 实现browser history
JavaScript
中等难度
60. 实现自己的`new`
JavaScript
容易
61. 实现`Function.prototype.call`
JavaScript
中等难度
62. 实现大整数加法(BigInt)
JavaScript
算法
容易
63. 手写`_.cloneDeep()`
JavaScript
算法
Lodash
中等难度
64. Promise reject的时候自动retry
JavaScript
中等难度
65. 添加千位分隔符
JavaScript
中等难度
66. 去掉数组中的重复元素
JavaScript
算法
中等难度
67. 请自行实现Promise
JavaScript
中等难度
68. 返回DOM tree包含的元素标签名
JavaScript
Algorithm
DOM
中等难度
69. 实现`_.isEqual()`
JavaScript
Lodash
中等难度
70. 实现Observable.from()
JavaScript
中等难度
71. 实现 Observable Subject
JavaScript
中等难度
72. 实现Observable interval()
JavaScript
容易
73. 实现 Observable fromEvent()
JavaScript
容易
74. 实现 Observable Transformation Operators
JavaScript
容易
75. 实现大整数减法(BigInt)
JavaScript
算法
中等难度
76. 实现BigInt的加法(含符号)
JavaScript
中等难度
77. 实现 BigInt 的减法(含符号)
JavaScript
中等难度
78. HEX转换为RGBA
JavaScript
中等难度
79. snake_case转换为camelCase
JavaScript
中等难度
80. 实现URLSearchParams
JavaScript
有点难?
81. 合并已排序的数组
JavaScript
算法
容易
82. 寻找合适开会的时间
JavaScript
算法
中等难度
83. 实现一个interval
JavaScript
中等难度
84. 创建一个fake timer (setInterval)
JavaScript
中等难度
85. 实现 `_.get()`
JavaScript
Lodash
中等难度
86. 生成 Fibonacci数
JavaScript
算法
中等难度
87. 返回最长的不重复子字符串
JavaScript
算法
容易
88. 在JavaScript中实现负索引
JavaScript
中等难度
89. 返回DOM tree中”右边“的元素
JavaScript
DOM
容易
90. 实现`instanceof`
JavaScript
中等难度
91. 反转二叉树
JavaScript
算法
容易
92. Promise节流
JavaScript
中等难度
93. 用recursion计算Fibonacci数
JavaScript
容易
94. 实现`Object.create`
JavaScript
容易
95. 实现 String.prototype.trim()
JavaScript
中等难度
96. 计算数字的二进制表示中“1”的个数
JavaScript
容易
97. 压缩字符串
JavaScript
string
中等难度
98. 检测合法IP地址
JavaScript
中等难度
99. 在HTML字符串中抽出所有的<a/>
JavaScript
中等难度
100. 检测链表中是否有环
JavaScript
算法
容易
101. 合并相同的API请求
JavaScript
中等难度
102. 验证括号字符串
JavaScript
算法
string
容易
103. 实现Math.sqrt()
JavaScript
算法
中等难度
104. 按层遍历DOM树
JavaScript
算法
DOM
中等难度
105. 找到第一个重复的字符
JavaScript
string
容易
106. 找到和为0的两个数
JavaScript
算法
容易
107. 找到最大的差
JavaScript
算法
容易
108. 用队列(Queue)实现栈(Stack)
JavaScript
算法
ByteDance
中等难度
109. 实现`Math.pow()`
JavaScript
算法
容易
110. 二叉树的序列化和反序列化
JavaScript
算法
中等难度
111. 回文子字符串数量
JavaScript
算法
string
中等难度
112. 重複の文字を削除する
JavaScript
算法
string
中等难度
113. Virtual DOM I
JavaScript
算法
DOM
中等难度
114. 大整数乘法(BigInt)
JavaScript
中等难度
115. 实现大整数除法(BigInt)
JavaScript
中等难度
116. 实现Object.is()
JavaScript
容易
117. 事件委托
JavaScript
中等难度
118. Virtual DOM II - createElement
JavaScript
容易
119. 创建一个tokenizer
JavaScript
中等难度
120. 实现`isPrime()`
JavaScript
算法
容易
121. 一个数列
JavaScript
容易
122. 实现 memoizeOne()
JavaScript
中等难度
123. 实现 Promise.prototype.finally()
JavaScript
中等难度
124. 四则运算的结果
JavaScript
算法
中等难度
125. 实现classNames()
JavaScript
中等难度
126. BigDecimal 加法
JavaScript
Algorithm
中等难度
127. BigDecimal 减法
JavaScript
Algorithm
中等难度
128. BigDecimal 乘法
JavaScript
Algorithm
中等难度
129. BigDecimal 除法
JavaScript
Algorithm
中等难度
130. 创建LazyMan()
JavaScript
中等难度
131. 实现_.chunk()
JavaScript
Lodash
中等难度
132. 时钟的时针和分针的角度
JavaScript
中等难度
133. 罗马数字转换为整数
JavaScript
容易
134. 实现Cookie
JavaScript
中等难度
135. 给localStorage添加过期时间
JavaScript
中等难度
136. 两个已排序数组的中位数
JavaScript
Algorithm
中等难度
137. 垂直遍历二叉树
JavaScript
Algorithm
有点难?
138. 已排序数组的交集
JavaScript
Algorithm
容易
139. 实现_.partial()
JavaScript
Lodash
中等难度
140. Virtual DOM III - Functional Component
JavaScript
容易
141. implement btoa()
JavaScript
容易
142. lit-html 1 - tagged templates
JavaScript
lit-html
容易
143. Virtual DOM IV - JSX 1
JavaScript
中等难度
144. 序列化和反序列化JSON不支持的数据类型
JavaScript
中等难度
145. 最多重复出现的字符
JavaScript
容易
146. 实现Array.prototype.reduce()
JavaScript
中等难度
147. 取石头
JavaScript
容易
148. 创建一个counter对象
JavaScript
容易
149. interpolation
JavaScript
中等难度
150. Virtual DOM V - JSX 2
JavaScript
中等难度
151. 实现Array.prototype.map()
JavaScript
中等难度
152. 找到最大的前k个元素
JavaScript
Algorithm
中等难度
153. uglify CSS class names
JavaScript
中等难度
154. 简单实现双向绑定Two-way binding
JavaScript
DOM
容易
155. 请实现一个count函数
JavaScript
容易
156. 请实现`_.set()`
JavaScript
Lodash
中等难度
157. semver 比较
JavaScript
容易
158. 返回DOM tree中”左边“的元素
JavaScript
DOM
中等难度
159. 实现promisify()
JavaScript
容易
160. 请实现atob()
JavaScript
中等难度
161. toBe() or not.toBe()
JavaScript
中等难度
162. 请找到未重复出现的整数
JavaScript
Algorithm
容易
133. 整数转换为罗马数字
JavaScript
Algorithm
容易
164. 实现Immer的produce()
JavaScript
中等难度
165.去除字符
Algorithm
中等难度
166. 有效数字字符串
JavaScript
Algorithm
string
中等难度
167. 未排序数列的交集
JavaScript
Algorithm
容易
168. 移动0到最后
JavaScript
Algorithm
中等难度
169. LRU - Chrome storage自动清除算法
JavaScript
Algorithm
中等难度
170. 生成特定元素的CSS选择器
JavaScript
中等难度
171. create callback on message channel
JavaScript
中等难度
172. implement `Math.clz32()`
JavaScript
中等难度
174. 解压字符串
JavaScript
string
algorithm
中等难度
174. CSS Grid Layout auto-placement algorithm - sparse
JavaScript
CSS
有点难?
175. CSS Grid Layout auto-placement algorithm - dense
JavaScript
CSS
中等难度
176. undefined to null
JavaScript
中等难度
177. Implement Object.groupBy()
JavaScript
中等难度