BFE
.dev
buy us
a coffee
中
刷题练习
发现
中
JavaScript代码题
作为一个前端开发工程师,JavaScript是核心必备技能。
排序
难度
解答状态
选择公司
排序: 最多通过
tag: JavaScript
1. 实现curry()
JavaScript
容易
21184 accepted
3. 实现Array.prototype.flat()
JavaScript
容易
17227 accepted
4. 手写throttle()
JavaScript
Lodash
中等难度
12814 accepted
6. 手写debounce()
JavaScript
Lodash
容易
11725 accepted
19. 相同结构的DOM tree上面寻找对应的节点
JavaScript
容易
8507 accepted
16. 实现一个Event Emitter
JavaScript
中等难度
8214 accepted
11. 什么是Composition?实现pipe()
JavaScript
容易
6581 accepted
2. 实现支持placeholder的curry()
JavaScript
中等难度
6437 accepted
17. 实现一个DOM element store
JavaScript
容易
6340 accepted
14. 实现`memo()`
JavaScript
中等难度
6135 accepted
32. 实现`Promise.all()`
JavaScript
中等难度
5846 accepted
28. 实现clearAllTimeout()
JavaScript
容易
5502 accepted
18. 优化一个function
JavaScript
容易
5480 accepted
8. 手写shuffle()随机打乱一个数组
JavaScript
中等难度
5049 accepted
176. undefined to null
JavaScript
容易
4867 accepted
9. 解密消息
JavaScript
中等难度
4599 accepted
58. 返回DOM tree的高度
JavaScript
算法
DOM
中等难度
4564 accepted
10. 找出第一个不良版本
JavaScript
算法
中等难度
4564 accepted
7. 手写debounce()并支持leading 和 trailing
JavaScript
Lodash
中等难度
4561 accepted
23. 实现一个sum()方法
JavaScript
容易
4453 accepted
5. 手写throttle()并支持leading 和 trailing
JavaScript
Lodash
中等难度
4402 accepted
167. 未排序数列的交集
JavaScript
Algorithm
容易
4372 accepted
151. 实现Array.prototype.map()
JavaScript
中等难度
4162 accepted
162. 请找到未重复出现的整数
JavaScript
Algorithm
容易
3933 accepted
15. 实现类似jQuery的DOM wrapper
JavaScript
容易
3844 accepted
25. 更新数组的顺序
JavaScript
算法
容易
3695 accepted
155. 请实现一个count函数
JavaScript
容易
3478 accepted
159. 实现promisify()
JavaScript
容易
3222 accepted
33. 实现`Promise.allSettled()`
JavaScript
中等难度
3174 accepted
29. 实现async helper - `sequence()`
JavaScript
中等难度
3135 accepted
35. 实现`Promise.race()`
JavaScript
容易
3132 accepted
113. Virtual DOM I
JavaScript
算法
DOM
中等难度
3091 accepted
148. 创建一个counter对象
JavaScript
容易
3090 accepted
34. 实现`Promise.any()`
JavaScript
中等难度
3056 accepted
161. toBe() or not.toBe()
JavaScript
中等难度
2784 accepted
154. 简单实现双向绑定Two-way binding
JavaScript
DOM
容易
2727 accepted
92. Promise节流
JavaScript
中等难度
2692 accepted
64. Promise reject的时候自动retry
JavaScript
中等难度
2624 accepted
13. 利用栈(Stack)创建队列(Queue)
JavaScript
Algorithm
中等难度
2553 accepted
68. 返回DOM tree包含的元素标签名
JavaScript
Algorithm
DOM
中等难度
2524 accepted
104. 按层遍历DOM树
JavaScript
算法
DOM
中等难度
2522 accepted
57. 实现Observable
JavaScript
中等难度
2469 accepted
91. 反转二叉树
JavaScript
算法
容易
2434 accepted
146. 实现Array.prototype.reduce()
JavaScript
中等难度
2335 accepted
39. 手写range()
JavaScript
容易
2335 accepted
89. 返回DOM tree中”右边“的元素
JavaScript
DOM
容易
2276 accepted
157. semver 比较
JavaScript
容易
2183 accepted
67. 请自行实现Promise
JavaScript
中等难度
2112 accepted
26. 实现Object.assign()
JavaScript
中等难度
2105 accepted
110. 二叉树的序列化和反序列化
JavaScript
算法
中等难度
2071 accepted
30. 实现async helper - `parallel()`
JavaScript
中等难度
2013 accepted
12. 实现 Immutability helper
JavaScript
中等难度
2011 accepted
168. 移动0到最后
JavaScript
Algorithm
中等难度
1993 accepted
20. 检测 data type
JavaScript
中等难度
1989 accepted
60. 实现自己的`new`
JavaScript
容易
1950 accepted
37. 手写Binary Search (unique)
JavaScript
容易
1918 accepted
47. 反转链表
JavaScript
算法
容易
1817 accepted
145. 最多重复出现的字符
JavaScript
容易
1812 accepted
63. 手写`_.cloneDeep()`
JavaScript
算法
Lodash
中等难度
1805 accepted
46. 实现`_.once()`
JavaScript
Lodash
容易
1787 accepted
21. 手写JSON.stringify()
JavaScript
中等难度
1767 accepted
31. 实现async helper - `race()`
JavaScript
容易
1753 accepted
56. 调取有分页的API
JavaScript
中等难度
1699 accepted
133. 整数转换为罗马数字
JavaScript
Algorithm
容易
1642 accepted
133. 罗马数字转换为整数
JavaScript
容易
1601 accepted
123. 实现 Promise.prototype.finally()
JavaScript
中等难度
1587 accepted
61. 实现`Function.prototype.call`
JavaScript
中等难度
1573 accepted
118. Virtual DOM II - createElement
JavaScript
容易
1570 accepted
40. 实现Bubble Sort
JavaScript
Algorithm
容易
1566 accepted
103. 实现Math.sqrt()
JavaScript
算法
中等难度
1540 accepted
158. 返回DOM tree中”左边“的元素
JavaScript
DOM
中等难度
1488 accepted
85. 实现 `_.get()`
JavaScript
Lodash
中等难度
1460 accepted
125. 实现classNames()
JavaScript
中等难度
1442 accepted
121. 一个数列
JavaScript
容易
1421 accepted
105. 找到第一个重复的字符
JavaScript
string
容易
1414 accepted
107. 找到最大的差
JavaScript
算法
容易
1406 accepted
81. 合并已排序的数组
JavaScript
算法
容易
1372 accepted
138. 已排序数组的交集
JavaScript
Algorithm
容易
1356 accepted
94. 实现`Object.create`
JavaScript
容易
1349 accepted
53. 用es5实现`extends`
JavaScript
中等难度
1345 accepted
69. 实现`_.isEqual()`
JavaScript
Lodash
中等难度
1336 accepted
38. 实现`jest.spyOn()`
JavaScript
容易
1307 accepted
120. 实现`isPrime()`
JavaScript
算法
容易
1287 accepted
131. 实现_.chunk()
JavaScript
Lodash
中等难度
1284 accepted
130. 创建LazyMan()
JavaScript
中等难度
1278 accepted
106. 找到和为0的两个数
JavaScript
算法
容易
1276 accepted
122. 实现 memoizeOne()
JavaScript
中等难度
1268 accepted
102. 验证括号字符串
JavaScript
算法
string
容易
1268 accepted
48. 含有重复元素的数组中返回特定元素的首次出现的位置
JavaScript
算法
容易
1202 accepted
86. 生成 Fibonacci数
JavaScript
算法
中等难度
1187 accepted
97. 压缩字符串
JavaScript
string
容易
1181 accepted
140. Virtual DOM III - Functional Component
JavaScript
容易
1177 accepted
87. 返回最长的不重复子字符串
JavaScript
算法
容易
1166 accepted
83. 实现一个interval
JavaScript
中等难度
1160 accepted
66. 去掉数组中的重复元素
JavaScript
算法
中等难度
1147 accepted
54. 扁平化Thunk
JavaScript
容易
1136 accepted
174. 解压字符串
JavaScript
string
algorithm
中等难度
1129 accepted
152. 找到最大的前k个元素
JavaScript
Algorithm
中等难度
1081 accepted
36. 实现一个 fake timer(setTimeout)
JavaScript
中等难度
1079 accepted
156. 请实现`_.set()`
JavaScript
Lodash
中等难度
1077 accepted
109. 实现`Math.pow()`
JavaScript
算法
容易
1064 accepted
116. 实现Object.is()
JavaScript
容易
1060 accepted
90. 实现`instanceof`
JavaScript
中等难度
1021 accepted
24. 用JavaScript手写一个Priority Queue
JavaScript
算法
中等难度
1007 accepted
49. 含有重复元素的数组中返回特定元素的最后出现的位置
JavaScript
算法
容易
1005 accepted
65. 添加千位分隔符
JavaScript
中等难度
1002 accepted
55. HTML字符串中高亮关键字
JavaScript
算法
中等难度
1000 accepted
22. 手写JSON.parse()
JavaScript
中等难度
987 accepted
59. 实现browser history
JavaScript
中等难度
962 accepted
93. 用recursion计算Fibonacci数
JavaScript
容易
955 accepted
147. 取石头
JavaScript
容易
941 accepted
100. 检测链表中是否有环
JavaScript
算法
容易
937 accepted
27. 实现completeAssign()
JavaScript
中等难度
932 accepted
42. 手写 Insertion Sort
JavaScript
算法
容易
929 accepted
135. 给localStorage添加过期时间
JavaScript
中等难度
911 accepted
43. 手写 Quick Sort
JavaScript
算法
中等难度
895 accepted
101. 合并相同的API请求
JavaScript
中等难度
882 accepted
139. 实现_.partial()
JavaScript
Lodash
中等难度
877 accepted
53. 实现middleware
JavaScript
中等难度
853 accepted
79. snake_case转换为camelCase
JavaScript
中等难度
829 accepted
95. 实现 String.prototype.trim()
JavaScript
中等难度
817 accepted
170. 生成特定元素的CSS选择器
JavaScript
中等难度
807 accepted
41. 手写Merge Sort
JavaScript
算法
中等难度
804 accepted
44. 手写Selection Sort
JavaScript
算法
容易
795 accepted
50. 含有重复元素的数组中返回特定元素之前的元素
JavaScript
算法
容易
793 accepted
82. 寻找合适开会的时间
JavaScript
算法
中等难度
776 accepted
88. 在JavaScript中实现负索引
JavaScript
中等难度
735 accepted
166. 有效数字字符串
JavaScript
Algorithm
string
中等难度
726 accepted
51. 含有重复元素的数组中返回特定元素的之后的元素
JavaScript
算法
容易
724 accepted
117. 事件委托
JavaScript
中等难度
716 accepted
149. interpolation
JavaScript
中等难度
714 accepted
96. 计算数字的二进制表示中“1”的个数
JavaScript
容易
693 accepted
136. 两个已排序数组的中位数
JavaScript
Algorithm
中等难度
692 accepted
45. 在未排序的数组中找到第K大的元素
JavaScript
Algorithm
中等难度
668 accepted
62. 实现大整数加法(BigInt)
JavaScript
算法
容易
653 accepted
111. 回文子字符串数量
JavaScript
算法
string
中等难度
632 accepted
132. 时钟的时针和分针的角度
JavaScript
中等难度
627 accepted
108. 用队列(Queue)实现栈(Stack)
JavaScript
算法
ByteDance
中等难度
601 accepted
119. 创建一个tokenizer
JavaScript
中等难度
551 accepted
153. uglify CSS class names
JavaScript
中等难度
541 accepted
112. 重複の文字を削除する
JavaScript
算法
string
中等难度
530 accepted
142. lit-html 1 - tagged templates
JavaScript
lit-html
容易
520 accepted
172. implement `Math.clz32()`
JavaScript
中等难度
507 accepted
70. 实现Observable.from()
JavaScript
中等难度
506 accepted
80. 实现URLSearchParams
JavaScript
有点难?
504 accepted
134. 实现Cookie
JavaScript
中等难度
470 accepted
84. 创建一个fake timer (setInterval)
JavaScript
中等难度
467 accepted
137. 垂直遍历二叉树
JavaScript
Algorithm
有点难?
463 accepted
71. 实现 Observable Subject
JavaScript
中等难度
442 accepted
99. 在HTML字符串中抽出所有的<a/>
JavaScript
中等难度
431 accepted
171. create callback on message channel
JavaScript
中等难度
398 accepted
164. 实现Immer的produce()
JavaScript
中等难度
395 accepted
72. 实现Observable interval()
JavaScript
容易
395 accepted
75. 实现大整数减法(BigInt)
JavaScript
算法
中等难度
369 accepted
74. 实现 Observable Transformation Operators
JavaScript
容易
368 accepted
73. 实现 Observable fromEvent()
JavaScript
容易
359 accepted
98. 检测合法IP地址
JavaScript
中等难度
336 accepted
169. LRU - Chrome storage自动清除算法
JavaScript
Algorithm
中等难度
308 accepted
78. HEX转换为RGBA
JavaScript
中等难度
290 accepted
143. Virtual DOM IV - JSX 1
JavaScript
中等难度
265 accepted
141. implement btoa()
JavaScript
容易
228 accepted
124. 四则运算的结果
JavaScript
算法
中等难度
195 accepted
76. 实现BigInt的加法(含符号)
JavaScript
中等难度
176 accepted
160. 请实现atob()
JavaScript
中等难度
167 accepted
144. 序列化和反序列化JSON不支持的数据类型
JavaScript
中等难度
145 accepted
150. Virtual DOM V - JSX 2
JavaScript
中等难度
129 accepted
114. 大整数乘法(BigInt)
JavaScript
中等难度
129 accepted
77. 实现 BigInt 的减法(含符号)
JavaScript
中等难度
103 accepted
115. 实现大整数除法(BigInt)
JavaScript
中等难度
61 accepted
126. BigDecimal 加法
JavaScript
Algorithm
中等难度
54 accepted
174. CSS Grid Layout auto-placement algorithm - sparse
JavaScript
CSS
有点难?
47 accepted
129. BigDecimal 除法
JavaScript
Algorithm
中等难度
34 accepted
128. BigDecimal 乘法
JavaScript
Algorithm
中等难度
33 accepted
127. BigDecimal 减法
JavaScript
Algorithm
没多少人挑战
27 accepted
175. CSS Grid Layout auto-placement algorithm - dense
JavaScript
CSS
中等难度
13 accepted