
Sharpen your JavaScript skills through hands-on problems with introductions, solution topics, and downloadable starter and solution files (zip or GitHub) to test code in the browser or node and console.assert.
Learn to create a JavaScript function that sums any number of inputs. Explore using the arguments object and the rest operator, test with console asserts, and review different solutions.
Learn three ways to sum any number of inputs: using the arguments object with a for-of loop, converting to an array for reduce, and using the rest parameter with reduce.
Learn how to count truthy values in an array in JavaScript by comparing if statements, filter predicates, and reduce with the ternary operator, while understanding string concatenation and number coercion.
Learn to implement a higher-order JavaScript function that returns a multiplier via closure. The lesson shows returning and invoking the inner function and validating results with console logs.
Explore how to implement a non-mutating shuffle function for arrays using Math.random, returning a new shuffled array and testing it with JSON.stringify and a set to detect duplicates.
Shuffle an array using a for-in loop to assign a new position for each element with Math.random, swap with the index via destructuring, and apply Math.floor to stay within bounds.
Iterate over every property in an object, including nested subobjects, by building a recursive function that tests values and uses console checks on test objects.
Learn to use recursion to traverse an object's properties, logging each key and value with a for-in loop, and recursively handle nested objects and arrays via an isObject check.
Iterate over and modify object properties by passing a callback to a higher-order function, add a numeric-string to number converter, and validate with console dir outputs.
Modify the obj props function first to receive and invoke a passed-in function on each key, then convert numeric strings to numbers using Number, applying recursively to child objects.
Learn how to remove falsy values from an array in JavaScript while returning a new, non-mutated array. Explore at least three approaches and validate results with console.assert tests.
Learn three JavaScript approaches to remove falsy values from an array without mutating the input: a for-of loop, a forEach with short-circuit evaluation, and the filter method.
Use the data object and determine age function to compute ages from birth date in years, days, hours, minutes, and seconds, accounting for milliseconds since 1970 and leap years.
Explore how to insert a value into an array at every nth position, using for loops with splice, map, and reduce, while avoiding mutating the original array.
Learn to insert a space before every uppercase letter in a string by building functions and using regular expressions, with tests and examples in JavaScript.
Explore two JavaScript approaches to insert spaces before uppercase letters in a string: a map with a regex test, and a replace method using capturing groups and a look-behind.
The purpose of this course is to provide multiple different JavaScript problems for you to solve. Different solutions are then presented that you can learn from. Each problem will require you to apply different JavaScript concepts in order to create a final solution.
Choose a problem; download the files; watch the introduction video and then code the solution. Once you are ready, watch the solution video for one or more possible solutions. The solution videos include explanations of the JavaScript concepts that are involved in the solution. This is the process used in this course to help sharpen your skills and give you the chance to apply important JavaScript concepts.
Multiple solutions are frequently provided for certain problems. You will also learn to apply JavaScript concepts you may not have considered in the past.
Some of the JavaScript skills that you have a chance to practice in this course include:
Closure
Higher order functions
Functional concepts and methods
Recursion and different iteration techniques
Math and Date object methods
Truthy and falsey
Regular expressions
Currying
Nature of objects
Array manipulation
This course provides a great opportunity to practice and apply many critical JavaScript concepts. If you want to improve your JavaScript skills, don't hesitate, get started today.