https://github.com/diogocarrola/leetcode-js-30-days
A complete journey through LeetCode's 30 Days of JavaScript study plan.
https://github.com/diogocarrola/leetcode-js-30-days
algorithms async-await closures coding-challenges interview-preparation javascript leetcode programming-practice promises study-plan
Last synced: 7 days ago
JSON representation
A complete journey through LeetCode's 30 Days of JavaScript study plan.
- Host: GitHub
- URL: https://github.com/diogocarrola/leetcode-js-30-days
- Owner: diogocarrola
- Created: 2025-10-30T02:45:43.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-12-31T23:15:25.000Z (5 months ago)
- Last Synced: 2026-01-02T07:17:36.685Z (5 months ago)
- Topics: algorithms, async-await, closures, coding-challenges, interview-preparation, javascript, leetcode, programming-practice, promises, study-plan
- Language: JavaScript
- Homepage:
- Size: 53.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 30 Days of JavaScript
A complete journey through LeetCode's 30 Days of JavaScript study plan, covering fundamental JavaScript concepts through practical coding challenges.
## Problems List
### **Closures**
| Day | Problem | Difficulty | Status | Concepts |
|-----|---------|------------|---------|-----------|
| 1 | [Create Hello World Function](day-01-create-hello-world/) | Easy | ✅ Completed | Higher-order functions, closures |
| 2 | [Counter](day-02-counter/) | Easy | ✅ Completed | Closures, state management |
| 3 | [To Be Or Not To Be](day-03-to-be-or-not-to-be/) | Easy | ✅ Completed | Type checking, function returns |
| 4 | [Counter II](day-04-counter-ii/) | Easy | ✅ Completed | Object methods, closures |
### **Basic Array Transformations**
| Day | Problem | Difficulty | Status | Concepts |
|-----|---------|------------|---------|-----------|
| 5 | [Apply Transform Over Each Element in Array](day-05-apply-transform/) | Easy | ✅ Completed | Array.map(), callbacks |
| 6 | [Filter Elements from Array](day-06-filter-elements/) | Easy | ✅ Completed | Array.filter(), conditional logic |
| 7 | [Array Reduce Transformation](day-07-array-reduce/) | Easy | ✅ Completed | Array.reduce(), accumulators |
### **Function Transformations**
| Day | Problem | Difficulty | Status | Concepts |
|-----|---------|------------|---------|-----------|
| 8 | [Function Composition](day-08-function-composition/) | Easy | ✅ Completed | Function composition, reduceRight |
| 9 | [Return Length of Arguments Passed](day-09-arguments-length/) | Easy | ✅ Completed | Rest parameters, arguments object |
| 10 | [Allow One Function Call](day-10-allow-one-call/) | Easy | ✅ Completed | Function calls, once wrapper |
| 11 | [Memoize](day-11-memoize/) | Medium | ✅ Completed | Caching, memoization, Map |
### **Promises and Time**
| Day | Problem | Difficulty | Status | Concepts |
|-----|---------|------------|---------|-----------|
| 12 | [Add Two Promises](day-12-add-two-promises/) | Easy | ✅ Completed | Promise.all(), async/await |
| 13 | [Sleep](day-13-sleep/) | Easy | ✅ Completed | setTimeout, Promise constructor |
| 14 | [Timeout Cancellation](day-14-timeout-cancellation/) | Easy | ✅ Completed | clearTimeout, cancellation |
| 15 | [Interval Cancellation](day-15-interval-cancellation/) | Easy | ✅ Completed | setInterval, clearInterval |
| 16 | [Promise Time Limit](day-16-promise-time-limit/) | Medium | ✅ Completed | Promise.race(), timeout |
| 17 | [Cache With Time Limit](day-17-cache-time-limit/) | Medium | ✅ Completed | Time-based caching, Map |
| 18 | [Debounce](day-18-debounce/) | Medium | ✅ Completed | Debouncing, setTimeout |
| 19 | [Execute Asynchronous Functions in Parallel](day-19-async-parallel/) | Medium | ✅ Completed | Promise.all(), error handling |
### **JSON and Array Methods**
| Day | Problem | Difficulty | Status | Concepts |
|-----|---------|------------|---------|-----------|
| 20 | [Is Object Empty](day-20-is-object-empty/) | Easy | ✅ Completed | Object inspection, keys |
| 21 | [Chunk Array](day-21-chunk-array/) | Easy | ✅ Completed | Array chunking, slicing |
| 22 | [Array Prototype Last](day-22-array-last/) | Easy | ✅ Completed | Array methods, prototypes |
| 23 | [Group By](day-23-group-by/) | Medium | ✅ Completed | Array grouping, reduce |
| 24 | [Sort By](day-24-sort-by/) | Easy | ✅ Completed | Custom sorting, comparators |
| 25 | [Join Two Arrays by ID](day-25-join-arrays/) | Medium | ✅ Completed | Array merging, objects |
| 26 | [Flatten Deeply Nested Array](day-26-flatten-array/) | Medium | ✅ Completed | Recursion, array flattening |
| 27 | [Compact Object](day-27-compact-object/) | Medium | ✅ Completed | Object filtering, recursion |
### **Classes**
| Day | Problem | Difficulty | Status | Concepts |
|-----|---------|------------|---------|-----------|
| 28 | [Event Emitter](day-28-event-emitter/) | Medium | ✅ Completed | Event handling, subscribers |
| 29 | [Array Wrapper](day-29-array-wrapper/) | Easy | ✅ Completed | Classes, valueOf, toString |
| 30 | [Calculator with Method Chaining](day-30-calculator-chaining/) | Easy | ✅ Completed | Method chaining, classes |