← Back to Home

Phase 2: Intermediate

Build on fundamentals with intermediate patterns and techniques

Phase Progress0 / 75 (0%)

Module 2: Promises & Async

Promisify

Implement a function that takes a function following the common error-first callback style and returns a version that returns promises

Medium2.99k completed

Promise.all

Implement the Promise.all() function that resolves to an array of results if all the input elements are resolved or rejects otherwise

Medium8.81k completed

Promise.any

Implement the Promise.any() function that resolves when any of the input elements are resolved

Medium3.6k completed

Promise.resolve

Premium

Implement a function to resolve a given value to a Promise

Medium2.04k completed

Promise.allSettled

Premium

Implement the Promise.allSettled() function that resolves to an array of outcomes when all the input elements are either resolved or rejected

Medium2.13k completed

Promise Merge

Premium

Implement a function to merge the results of two promises into a single value

Medium1.65k completed

Promise Timeout

Premium

Implement a function that resolves a promise if it is fulfilled within a timeout period and rejects otherwise

Medium1.78k completed

Promise.withResolvers

Premium

Implement a function that returns an object containing a new `Promise` object and two functions to resolve or reject it

Medium944 completed

Promisify II

Premium

Implement a promisify function that allows the original function to override the return value

Medium774 completed

Map Async

Premium

Implement a function that maps an array of items with an asynchronous mapping function

Medium1.81k completed

Map Async Limit

Implement a function that maps an array of items with an asynchronous mapping function while not exceeding the concurrency limit

Medium1.98k completed

Module 3: Advanced React Hooks

useArray

Implement a hook that manages an array of items

Medium1.51k completed

useDebounce

Implement a hook that debounces a value

Medium1.54k completed

useSet

Implement a hook that manages a JavaScript set

Medium723 completed

useTimeout

Implement a hook that invokes a callback function after a specified delay

Medium815 completed

useWindowSize

Implement a hook that returns the current height and width of the window

Medium763 completed

useClickAnywhere

Implement a hook that handles click events anywhere on the document

Easy2.06k completed

useBreakpoint

Premium

Implement a hook that returns the current breakpoint name based on the current window width

Medium352 completed

useClickOutside

Premium

Implement a hook that detects clicks outside of a specified element

Medium441 completed

useCountdown

Premium

Implement a hook that manages a countdown

Medium385 completed

useEventListener

Premium

Implement a hook that subscribes to browser events

Medium358 completed

useHover

Premium

Implement a hook that tracks whether an element is being hovered

Medium287 completed

useInterval

Premium

Implement a hook that creates an interval that invokes a callback function at a specified delay

Medium303 completed

useKeyPress

Premium

Implement a hook that subscribes to keyboard events

Medium244 completed

useMap

Premium

Implement a hook that manages a JavaScript map

Medium267 completed

useObject

Premium

Implement a hook that manages an object value

Medium172 completed

useStep

Premium

Implement a hook that manages a step counter for a multi-step process

Medium207 completed

useThrottle

Premium

Implement a hook that throttles a value

Medium321 completed

useInputControl

Implement a hook that manages a controlled input value and tracks its dirty & touched state

Medium519 completed

useMediaQuery

Implement a hook that subscribes and responds to media query changes (e.g. screen size, resolution, orientation, etc.)

Medium326 completed

useMediatedState

Implement a hook that is similar to useState, but supports a mediation process

Medium276 completed

useQuery

Implement a hook that manages a promise resolution

Medium720 completed

useIdle

Premium

Implement a hook that detects user inactivity

Medium215 completed

Module 4: Object & Array Manipulation

Count By

Implement a function that counts the number of times a value appears in an array based on a function or property name

Medium3.55k completed

Flatten

Implement a function that recursively flattens an array into a single level deep

Medium12.3k completed

Deep Clone

Implement a function that performs a deep copy of a value

Medium5.99k completed

Deep Equal

Implement a function that determines if two values are equal

Medium3.85k completed

Group By

Premium

Implement a function that groups values in an array based on a function or property name

Medium1.57k completed

Intersection By

Premium

Implement a function that returns an array of unique values that are included in all given arrays based on a provided iteratee function

Medium862 completed

Intersection With

Premium

Computes the intersection of arrays using a custom comparator function to determine equality between elements

Medium711 completed

Union By

Premium

Implement a function that creates an array of unique values, in order, from all given arrays.

Medium545 completed

Is Empty

Premium

Implement a function to check if a value is an empty object, collection, map, or set

Medium1.23k completed

Squash Object

Implement a function that returns a new object after squashing the input object into a single level of depth

Medium2.01k completed

Deep Omit

Implement a function that removes specified keys and their corresponding values from an object, including nested objects or arrays

Medium1.39k completed

Camel Case Keys

Premium

Implement a function to convert all the keys in an object to camel case

Medium1.45k completed

Compact II

Premium

Implement a function that returns an object with all falsey values removed

Medium592 completed

Conforms To

Premium

Implement a function that checks if object conforms to source

Medium422 completed

Deep Map

Premium

Implement a function to recursively transform values

Medium528 completed

Deep Merge

Premium

Implement a function that merges two objects together

Medium421 completed