Octagram Labs
JavaScript
Data Structures
Sign in
JavaScript
Variables & Types
Refined Type Of
easy
Even or Odd
easy
Parse Number or Null
easy
Coerce to Boolean
easy
Safe Integer Check
medium
Default if Nullish
medium
Count Truthy Values
medium
Swap Two Values
medium
Operators
Clamp a Number
easy
Sign of a Number
easy
Nullish Coalescing
easy
Optional Chaining Lookup
medium
Wrap an Index
medium
Integer Average
medium
Toggle All Booleans
medium
Strings
Reverse a String
easy
Count Vowels
easy
Is Palindrome
medium
Count Vowels
easy
Title Case
easy
Palindrome Check
easy
Count a Character
medium
First Unique Character
medium
Truncate with Ellipsis
medium
Word Count
medium
Longest Common Prefix
hard
Arrays
Sum of an Array
easy
Find the Maximum
easy
Remove Duplicates
medium
Find Maximum
easy
Remove Duplicates
easy
Chunk an Array
easy
Rotate Array Right
medium
Flatten One Level
medium
Array Intersection
medium
Move Zeros to End
medium
Maximum Subarray Sum
hard
Objects
Count Object Keys
easy
Invert an Object
medium
Count Keys
easy
Sum of Values
easy
Invert Keys and Values
easy
Merge Two Objects
medium
Pick Keys
medium
Deep Clone
medium
Group By Property
medium
Frequency Map
medium
Flatten Nested Object
hard
Functions & Scope
Default Parameter Greeting
easy
Closures
Counter via Closure
medium
Multiplier via Closure
medium
Higher-Order Functions
Apply a Function N Times
easy
Pipeline of Transformations
medium
Array Methods (map/filter/reduce)
Double Every Element
easy
Filter Even Numbers
easy
Group By Length
medium
Recursion
Factorial
easy
Flatten Nested Array
medium
Permutations of a String
hard
ES6+
Destructure and Swap
easy
Merge Objects with Spread
medium
DOM Manipulation
Append a List Item
easy
Toggle a CSS Class
medium