JavaScript Roadmap Codewars challenge
... In progress
https://roadmap.sh/javascript
JavaScript basics
| Rank |
Kata |
| 8 kyu |
Basic variable assignment |
| 8 kyu |
Basic data types --String |
| 8 kyu |
Basic data types --Number |
| 8 kyu |
Basic data types --Array |
| 8 kyu |
Basic data types --Object |
| 8 kyu |
Basic data types --Boolean and conditional statements if..else |
| 8 kyu |
if..else and ternary operator |
| 8 kyu |
Conditional statement --switch |
| 8 kyu |
Loop statement --while and do..while |
| 8 kyu |
Loop statement --for |
| 8 kyu |
Loop statement --break,continue |
| 8 kyu |
Loop statement --for..in and for..of |
| 8 kyu |
Unlock new skills --Arrow function,spread operator and deconstruction |
Hoisting
... Hoisting, JavaScript Scope, Block, Function, Global
Primitive data types and Objects
String primitive and String Object
| Rank |
Kata |
| 8 kyu |
Methods of String object --slice(), substring() and substr() |
| 8 kyu |
Methods of String object --indexOf(), lastIndexOf() and search() |
| 8 kyu |
Methods of String object --concat() split() and its good friend join() |
| 8 kyu |
Methods of String object --toUpperCase() toLowerCase() and replace() |
| 8 kyu |
Methods of String object --charAt() charCodeAt() and fromCharCode() |
| 8 kyu |
Methods of String object --trim() and the string template |
| 8 kyu |
Short Long Short |
Number primitive and Number Object
| Rank |
Kata |
| 8 kyu |
Number object and its properties |
| 8 kyu |
Methods of Number object--toString() and toLocaleString() |
| 8 kyu |
Methods of Number object--toFixed(), toExponential() and toPrecision() |
| 8 kyu |
Parse nice int from char problem |
| 8 kyu |
Opposite number |
| 8 kyu |
Convert a Number to a String! |
| 8 kyu |
Convert number to reversed array of digits |
| 8 kyu |
Sum without highest and lowest number |
| 7 kyu |
Sum of Numbers |
| 7 kyu |
Sum of odd numbers |
| 6 kyu |
Create Phone Number |
| 6 kyu |
Find the unique number |
| 5 kyu |
Product of consecutive Fib numbers |
| 5 kyu |
Last digit of a large number |
| 4 kyu |
Sum Strings as Numbers |
| 4 kyu |
Adding Big Numbers |
... bigint, boolean, null and undefined, Symbol
The Math namespace object
| Rank |
Kata |
| 8 kyu |
methods of Math ---round() ceil() and floor() |
| 8 kyu |
methods of Math ---max() min() and abs() |
| 8 kyu |
methods of Math ---pow() sqrt() and cbrt() |
| 8 kyu |
methods of Math ---log() and its family |
| 8 kyu |
methods of Math ---kata author's lover:random() |
Array Object
| Rank |
Kata |
| 8 kyu |
methods of arrayObject ---push(), pop(), shift() and unshift() |
| 8 kyu |
methods of arrayObject ---splice() and slice() |
| 8 kyu |
methods of arrayObject ---reverse() and sort() |
| 8 kyu |
methods of arrayObject ---map() |
| 8 kyu |
methods of arrayObject ---filter() |
| 8 kyu |
methods of arrayObject ---every() and some() |
| 8 kyu |
methods of arrayObject ---concat() and join() |
| 8 kyu |
methods of arrayObject ---reduce() and reduceRight() |
| 8 kyu |
methods of arrayObject ---isArray() indexOf() and toString() |
| 8 kyu |
Convert a string to an array |
| 8 kyu |
Sum Arrays |
| 8 kyu |
Be Concise IV - Index of an element in an array |
| 8 kyu |
Merge two sorted arrays into one |
| 8 kyu |
Get the mean of an array |
| 8 kyu |
Sum Mixed Array |
| 8 kyu |
Find the smallest integer in the array |
| 8 kyu |
Array plus array |
| 8 kyu |
Sum of differences in array |
| 8 kyu |
Convert number to reversed array of digits |
| 7 kyu |
Flatten and sort an array |
| 7 kyu |
Sort array by string length |
| 6 kyu |
Highest Rank Number in an Array |
| 3 kyu |
The soul of wit: reverse an array |
Functions
| Rank |
Kata |
| 8 kyu |
Opposite number |
| 8 kyu |
Implement Array.prototype.filter() |
| 8 kyu |
Basic Mathematical Operations |
| 7 kyu |
Array.prototype.reverse() |
| 7 kyu |
Array.prototype.size() |
| 7 kyu |
Unpacking Arguments |
| 7 kyu |
Sum of all arguments |
| 7 kyu |
Lazily executing a function |
| 7 kyu |
Functional Addition |
| 7 kyu |
First-Class Function Factory |
| 6 kyu |
Range function |
| 5 kyu |
Function.prototype.clone |
| 5 kyu |
Array.prototype.splice(from, count, insertItems...) |
Higher-Order Functions
| Rank |
Kata |
| 7 kyu |
Count the number of JavaScript developers |
| 7 kyu |
Greet developers |
| 7 kyu |
Is Ruby coming? |
| 7 kyu |
Find the first Python developer |
| 7 kyu |
Prepare the count of languages |
| 6 kyu |
Find the most senior developer |
| 6 kyu |
Detect Pangram |
| 6 kyu |
Backspaces in string |
Callback Functions
| Rank |
Kata |
| 5 kyu |
Calculating with Functions |
| 5 kyu |
Wrapped Function |
| 5 kyu |
Concatenating functions |
| 5 kyu |
Compose functions |
| 5 kyu |
Function Cache |
| 5 kyu |
A Chain adding function |
Classes
| Rank |
Kata |
| 8 kyu |
Classy Classes |
| 8 kyu |
Fun with ES6 Classes #1 - People, people, people |
| 7 kyu |
Fun with ES6 Classes #2 - Animals and Inheritance |
| 7 kyu |
Fun with ES6 Classes #3 - Cuboids, Cubes and Getters |
| 7 kyu |
Fun with ES6 Classes #4 - Cubes and Setters |
| 8 kyu |
SpeedCode #3 × Fun with ES6 Classes #5 - Dogs and Classes |
| 7 kyu |
Super Class Extensions |
| 6 kyu |
Fun with ES6 Classes #6 - Fake Files (Basic) |
| 6 kyu |
Hex class |
| 6 kyu |
Defining getters and setters on an existing class |
| 5 kyu |
Vector class |
| 4 kyu |
A simple Tic-tac-toe class |
| 2 kyu |
class List |
Design Patterns
| Rank |
Kata |
| 7 kyu |
First-Class Function Factory |
| 7 kyu |
Singleton Pattern |
| 7 kyu |
PatternCraft - Visitor |
| 7 kyu |
PatternCraft - Adapter |
| 7 kyu |
Pure Functions |
| 6 kyu |
Function Composition |
| 6 kyu |
PatternCraft - State |
| 6 kyu |
PatternCraft - Strategy |
| 5 kyu |
Function Cache |
| 5 kyu |
Memoized Fibonacci |
| 5 kyu |
Simple Events |
| 5 kyu |
Decorator Pattern |
| 4 kyu |
Dependency Injection |
| 4 kyu |
Advanced Events |
Regular Expression
| Rank |
Kata |
| 8 kyu |
Unlock new weapon ---RegExp Object |
| 8 kyu |
Regular Expression --"^","$", "." and test() |
| 8 kyu |
Regular Expression --"?", "*", "+" and "{}" |
| 8 kyu |
Regular Expression --"|", "[]" and "()" |
| 8 kyu |
Regular Expression --"" |
| 8 kyu |
Regular Expression --(?:), (?=) and (?!) |