Welcome to 30 Days of JavaScript! 🎉
A collection of 35 JavaScript challenges to level up your coding skills, from basics to advanced topics.
Solve them day by day, learn new concepts, and practice problem-solving like a pro! 💻
- Basics: Functions, Arrays, Objects
- Intermediate: Closures, Memoization, Promises
- Advanced: Debounce, Parallel Async, Classes, Method Chaining
# | Challenge | Difficulty | Solution |
---|---|---|---|
1 | Closures | Easy | ⬜ |
2 | Create Hello World Function | Easy | ⬜ |
3 | Counter | Easy | ⬜ |
4 | To Be Or Not To Be | Easy | ⬜ |
5 | Counter II | Easy | ⬜ |
6 | Basic Array Transformations | Easy | ⬜ |
7 | Filter Elements from Array | Easy | ⬜ |
8 | Array Reduce Transformation | Easy | ⬜ |
9 | Function Transformations | Easy | ⬜ |
10 | Return Length of Arguments Passed | Easy | ⬜ |
11 | Allow One Function Call | Easy | ⬜ |
12 | Memoize | Medium | ⬜ |
13 | Promises and Time | Easy | ⬜ |
14 | Sleep | Easy | ⬜ |
15 | Timeout Cancellation | Easy | ⬜ |
16 | Interval Cancellation | Easy | ⬜ |
17 | Promise Time Limit | Medium | ⬜ |
18 | Cache With Time Limit | Medium | ⬜ |
19 | Debounce | Medium | ⬜ |
20 | Execute Asynchronous Functions in Parallel | Medium | ⬜ |
21 | JSON: Is Object Empty | Easy | ⬜ |
22 | Chunk Array | Easy | ⬜ |
23 | Array Prototype Last | Easy | ⬜ |
24 | Group By | Medium | ⬜ |
25 | Sort By | Easy | ⬜ |
26 | Join Two Arrays by ID | Medium | ⬜ |
27 | Flatten Deeply Nested Array | Medium | ⬜ |
28 | Compact Object | Medium | ⬜ |
29 | Classes: Event Emitter | Medium | ⬜ |
30 | Array Wrapper | Easy | ⬜ |
31 | Calculator with Method Chaining | Medium | ⬜ |
- Clone the repo:
git clone https://github.com/AsmaaSaci/30-Days-of-JavaScript.git