BFE.dev
- 1. implement curry()
- 11. what is Composition? create a pipe()
- 6. implement basic debounce()
- 4. implement basic throttle()
- 46. implement
_.once()
- 14. Implement a general memoization function -
memo()
- 56. call APIs with pagination (try iterative solution)
- 92. throttle Promises
- 29. implement async helper -
sequence()
- auto-retry Promise on rejection
- 101. merge identical API calls
- 69. implement deep equal
_.isEqual()
- 63. create
_.cloneDeep()
- 85. implement
_.get()
- 156. implement
_.set()
- 15. implement a simple DOM wrapper to support method chaining like jQuery
- 17. Create a simple store for DOM element
- 19. find corresponding node in two identical DOM tree
- 58. get DOM tree height
- 68. get DOM tags
- 89. Next Right Sibling
- 158. Previous Left Sibling
- 104. Traverse DOM level by level
- 91. invert a binary tree
- 110. serialize and deserialize binary tree
- ? 137. binary tree vertical traversal
- 113. Virtual DOM I
- 118. Virtual DOM II - createElement
- 140. Virtual DOM III - Functional Component
- 154. Two-way binding
- 125. implement classNames()
- 170. Generate CSS Selector for target element
- 142. lit-html 1 - tagged templates
- 149. interpolation
- 146. implement Array.prototype.reduce()
- 151. implement Array.prototype.map()
- 88. support negative Array index in JavaScript
- 21. implement JSON.stringify()
- 22. implement JSON.parse()
- 144. serialize and deserialize data types not supported in JSON
- 20. Detect data type in JavaScript
- 26. implement Object.assign()
- 27. implement completeAssign()
- 94. implement your own
Object.create
- 90. write your own
instanceof
- 116. implement Object.is()
- 53. write your own
extends
in es5 - 60. create your own
new
operator - 61. create your own
Function.prototype.call
// also try Function.prototype.bind - 32. implement
Promise.all()
// all promises to resolve, any error rejects - 33. implement
Promise.allSettled()
// all promises resolve or rejects - 34. implement
Promise.any()
// any promise to resolve - 35. implement
Promise.race()
// any promise to resolve or reject - 123. implement Promise.prototype.finally()
- 28. implement clearAllTimeout()
- 16. create an Event Emitter
- 117. event delegation
- 59. create a browser history
- 80. implement your own URLSearchParams
- 134. create your own Cookie
- 135. localStorage with expiration
- 13. Implement a Queue by using Stack (
- 108. Implement a Stack by using Queue (