Practice
JavaScriptData StructuresReactConcepts
Sign in

JavaScript

0 of 240 solved0%
x

Fundamentals: Part 1

0/15
  • ○Refined Type Ofeasy
  • ○Even or Oddeasy
  • ○Parse Number or Nulleasy
  • ○Coerce to Booleaneasy
  • ○Safe Integer Checkmedium
  • ○Default if Nullishmedium
  • ○Count Truthy Valuesmedium
  • ○Swap Two Valuesmedium
  • ○Clamp a Numbereasy
  • ○Sign of a Numbereasy
  • ○Nullish Coalescingeasy
  • ○Optional Chaining Lookupmedium
  • ○Wrap an Indexmedium
  • ○Integer Averagemedium
  • ○Toggle All Booleansmedium

Fundamentals: Part 2

0/12
  • ○Multiply (Function Declaration)easy
  • ○Square (Arrow Function)easy
  • ○Functions Calling Functionseasy
  • ○Add to Both Endseasy
  • ○Find Positioneasy
  • ○Read a Propertyeasy
  • ○Object Method with thismedium
  • ○Sum with a for Loopeasy
  • ○Collect Evens (continue)medium
  • ○Loop Backwardseasy
  • ○Nested Loops: Index Pairsmedium
  • ○Countdown with whileeasy

Behind the Scenes

0/6
  • ○Scope Chain Accesseasy
  • ○Hoisting: Call Before Declarationeasy
  • ○this in a Methodmedium
  • ○Objects Are Passed by Referencemedium
  • ○Primitives Are Copiedmedium
  • ○Shallow Copy with Spreadmedium

Data Structures, Operators & Strings

0/43
  • ○Reverse a Stringeasy
  • ○Count Vowelseasy
  • ○Is Palindromemedium
  • ○Count Object Keyseasy
  • ○Invert an Objectmedium
  • ○Destructure and Swapeasy
  • ○Merge Objects with Spreadmedium
  • ○Count Vowelseasy
  • ○Title Caseeasy
  • ○Palindrome Checkeasy
  • ○Count a Charactermedium
  • ○First Unique Charactermedium
  • ○Truncate with Ellipsismedium
  • ○Word Countmedium
  • ○Longest Common Prefixhard
  • ○Count Keyseasy
  • ○Sum of Valueseasy
  • ○Invert Keys and Valueseasy
  • ○Merge Two Objectsmedium
  • ○Pick Keysmedium
  • ○Deep Clonemedium
  • ○Group By Propertymedium
  • ○Frequency Mapmedium
  • ○Flatten Nested Objecthard
  • ○Head and Taileasy
  • ○Default and Rest Parameterseasy
  • ○Template Literal Formateasy
  • ○Merge Unique with Spreadmedium
  • ○Computed Property Keymedium
  • ○Destructure with Defaultsmedium
  • ○Nested Destructuringmedium
  • ○Pairs to Objecthard
  • ○Destructure an Arrayeasy
  • ○Destructure with Renameeasy
  • ○Combine Arrays with Spreadeasy
  • ○Split First and Restmedium
  • ○Short-Circuit Default (||)easy
  • ○Nullish Default (??)easy
  • ○Optional Chainingeasy
  • ○Unique Values with a Seteasy
  • ○Count Unique (Set size)easy
  • ○Build and Read a Mapmedium
  • ○Flatten a Nested Objecthard

A Closer Look at Functions

0/48
  • ○Default Parameter Greetingeasy
  • ○Counter via Closuremedium
  • ○Multiplier via Closuremedium
  • ○Apply a Function N Timeseasy
  • ○Pipeline of Transformationsmedium
  • ○Factorialeasy
  • ○Flatten Nested Arraymedium
  • ○Permutations of a Stringhard
  • ○Sum All Argumentseasy
  • ○Default Parameter Greetingeasy
  • ○Max of Argumentseasy
  • ○Concatenate Arrays via Spreadmedium
  • ○Countdownmedium
  • ○Increment N Timesmedium
  • ○Sum of Even Argumentsmedium
  • ○Factorial with a Loophard
  • ○Counter Sequencemedium
  • ○Running Totalsmedium
  • ○Memoized Squaresmedium
  • ○Once Guardmedium
  • ○Private Bank Balancehard
  • ○Multiplier Factorymedium
  • ○Apply Named Operationmedium
  • ○Step Pipelinemedium
  • ○Filter by Predicate Namemedium
  • ○Tally with Reducemedium
  • ○Squares of Even Numbersmedium
  • ○Custom Reducehard
  • ○Sum to Neasy
  • ○Powereasy
  • ○Reverse a String Recursivelymedium
  • ○Countdown Recursivelymedium
  • ○Deep Flattenmedium
  • ○Tower of Hanoi Moveshard
  • ○Borrow a Method with callmedium
  • ○apply with an Arguments Arraymedium
  • ○Fix an Argument with bindmedium
  • ○Immediately Invoked Functioneasy
  • ○Function Returning a Functionmedium
  • ○Partial Applicationmedium
  • ○Implement curry()hard
  • ○Implement memoize()hard
  • ○Implement pipe()hard
  • ○Generate All Permutationshard
  • ○Temperature Conversion Moduleeasy
  • ○Compose Functionsmedium
  • ○Memoize a Functionhard
  • ○Run Oncemedium

Working With Arrays

0/32
  • ○Sum of an Arrayeasy
  • ○Find the Maximumeasy
  • ○Remove Duplicatesmedium
  • ○Double Every Elementeasy
  • ○Filter Even Numberseasy
  • ○Group By Lengthmedium
  • ○Find Maximumeasy
  • ○Remove Duplicateseasy
  • ○Chunk an Arrayeasy
  • ○Rotate Array Rightmedium
  • ○Flatten One Levelmedium
  • ○Array Intersectionmedium
  • ○Move Zeros to Endmedium
  • ○Maximum Subarray Sumhard
  • ○Double Eacheasy
  • ○Keep Positiveseasy
  • ○Sum with Reduceeasy
  • ○Averagemedium
  • ○Count Above Thresholdmedium
  • ○Index of Maximummedium
  • ○Partitionmedium
  • ○Sum of Nested Arraysmedium
  • ○Map to Lengthsmedium
  • ○Most Frequent Elementhard
  • ○Last Element with ateasy
  • ○find First Over Thresholdeasy
  • ○findLast Eveneasy
  • ○some and everymedium
  • ○flat One Leveleasy
  • ○flatMap to Duplicatemedium
  • ○Sort Numbers Ascendingmedium
  • ○Array.from with Mapmedium

Numbers, Dates & Timers

0/12
  • ○Convert String to Numbereasy
  • ○Is Whole Numbereasy
  • ○Round to Decimalsmedium
  • ○Floor, Ceil, Truncmedium
  • ○Even or Odd (Remainder)easy
  • ○Every Nth Elementmedium
  • ○Money Stringeasy
  • ○BigInt Summedium
  • ○Days Between Datesmedium
  • ○Day of Weekmedium
  • ○Add Daysmedium
  • ○Clamp a Numbereasy

DOM & Events

0/10
  • ○Append a List Itemeasy
  • ○Toggle a CSS Classmedium
  • ○Set Text Contenteasy
  • ○Add a CSS Classeasy
  • ○Append Three List Itemsmedium
  • ○Reveal a Hidden Messageeasy
  • ○Set a Data Attributemedium
  • ○Set an Input Valueeasy
  • ○Remove an Elementmedium
  • ○Style an Elementmedium

Object-Oriented Programming

0/24
  • ○Rectangle Areaeasy
  • ○Counter Classeasy
  • ○Stack Classmedium
  • ○Shape Inheritancemedium
  • ○Static Methodmedium
  • ○Getter Propertymedium
  • ○Prototype Methodmedium
  • ○Temperature Converterhard
  • ○Constructor Functionmedium
  • ○Prototype Methodmedium
  • ○Gettermedium
  • ○Static Methodmedium
  • ○Class Inheritancemedium
  • ○Private Class Fieldhard
  • ○Object.createmedium
  • ○Method Chainingmedium
  • ○Build an EventEmitterhard
  • ○Event Emittermedium
  • ○Shopping Cartmedium
  • ○Bank Accounteasy
  • ○Todo Listeasy
  • ○Chainable Calculatoreasy
  • ○Traffic Light State Machineeasy
  • ○Simple Routermedium

Asynchronous JavaScript

0/19
  • ○Async Identityeasy
  • ○Async Doubleeasy
  • ○Await a Promisemedium
  • ○Promise.all Summedium
  • ○Chained Thenmedium
  • ○Double All Asyncmedium
  • ○Catch a Rejectionmedium
  • ○Await with Defaultmedium
  • ○Sequential Accumulatemedium
  • ○Async Step Pipelinehard
  • ○Safe JSON Parseeasy
  • ○Safe Divideeasy
  • ○Default on Out-of-Rangemedium
  • ○Validate with Thrown Errorsmedium
  • ○Try, Catch, Finally Ordermedium
  • ○Promise.all (Parallel)medium
  • ○Promise.allSettled Statuseshard
  • ○Await in Sequencemedium
  • ○Async try/catch Fallbackmedium

Modern JavaScript

0/6
  • ○Pure Function (no mutation)easy
  • ○Immutable State Updatemedium
  • ○Declarative Sumeasy
  • ○Declarative Filter then Mapmedium
  • ○Curried Addmedium
  • ○Module Pattern (IIFE)medium

Beyond the Course (extra topics)

0/13
  • ○Range Generatoreasy
  • ○Fibonacci Generatormedium
  • ○Take Evens from an Infinite Generatormedium
  • ○Collect from a Startmedium
  • ○Chunk Generatorhard
  • ○Contains a Digiteasy
  • ○Extract Number Groupseasy
  • ○Simple Email Checkeasy
  • ○Collapse Whitespacemedium
  • ○Count Words with Regexmedium
  • ○Mask Digitsmedium
  • ○Reformat a Datehard
  • ○Implement JSON.stringify (subset)hard