Giter Club home page Giter Club logo

jsexercises's Introduction

License: CC0-1.0 Open Source Helpers

JSEx Logo

JavaScript Exercises

Solutions and explanation to JS exercises.

This is not a cheat sheet!

I made this compilation while solving JavaScript algorithms in FreeCodeCamp and Edabit. I thought this must be a helpful guide for people trying to get up and running in web development paradigm.


Table Of Contents


Create a function that will display the smallest value in the array.

Example:

> console.log(findSmallest([30, 45, 60, 7]));
> 1

Reference:

Solution:

function findSmallest(arr) {
  return Math.min(...arr);
}

Function that will return your string in Alphabetical order

Example:

> console.log(AlphabeticalOrder('hello'));
> "ehllo"

Reference:

Solution:

function AlphabeticalOrder(str) {
  return str
    .split("")
    .sort()
    .join("");
}

In mathematics, the factorial of a non-negative integer n, denoted by n!, is the product of all positive integers less than or equal to n. In simple terms, the Factorial of 7 is solved like this:

7 _ 6 _ 5 _ 4 _ 3 _ 2 _ 1 = 5,040

Example:

> console.log(factorializer(7));
> 5040

Reference:

Solution:

function factorializer(int) {
  if (int <= 1) {
    return 1;
  } else {
    return int * factorializer(int - 1);
  }
}

A function that lets you know if a number is Even or Odd

Example:

> console.log(oddOrEven(7));
> "Odd"

Reference:

Solution:

function oddOrEven(int) {
  let ouput = int % 2;
  if (output == 0) {
    return "Even";
  } else {
    return "Odd";
  }
}

Remove all Odd number(s) in an array and return a new array that contains Even numbers only

Example:

> console.log(evenOnly([1, 2, 3, 4, 5, 6]));
> [ 2, 4, 6 ]

Reference:

Solution:

function evenOnly(arr) {
  let result = arr.filter(arr => arr % 2 == 0);
  return result;
}

Create a function that will accept an array, check the data type of each element. The function will delete string elements and will return a the new array

Example:

> console.log(numbersOnly(['text', 3, 7, 'github', 13, 'dev']));
> [ 3, 7, 13 ]

Reference:

Solution:

function numbersOnly(arr) {
  return arr.filter(arr => typeof arr == "number");
}

Return the sum of a number going back to it's root. In other words, the function will work like this:

addUp(5);

// 5 + 4 + 3 + 2 + 1 + 0 = 15

Example:

> console.log(addUp(8));
> 36

Reference:

Solution:

function addUp(num) {
  if (num <= 1) {
    return num;
  } else {
    return num + addUp(num - 1);
  }
}

Create a function that will accept an array and do the following:

  • Get the lowest element

  • Get the highest element

  • Get the length of array

  • Get the Average of all element;

  • Store these criteria in a new array

Example:

> console.log(minMaxLengthAverage([7, 13, 3, 77, 100]));
> [ 3, 100, 5, 40 ]

Reference:

Solution:

function minMaxLengthAverage(arr) {
  const min = Math.min(...arr);
  const max = Math.max(...arr);
  const len = arr.length;

  //Reducer for get Average function
  const ave = arr => arr.reduce((acc, curVal) => acc + curVal, 0) / len;
  const average = ave(arr);

  //Return output
  return [min, max, len, average];
}

Array.sort() sorts the strings alphabetically. What if we want to sort numbers from lowest to highest? Will it produce a correct output?

Example: This is what happen if we apply Array.sort() to numbers:

> arr = [45, 34, 23, 12, 7]
> console.log(arr.sort());
> [ 12, 23, 34, 45, 7 ]

Output is not correct right?, whereas we are expecting this to be the return value:

> console.log(sortNumsAscending([7, 13, 3, 77, 100]));
> [ 3, 5, 40, 100 ]

Reference:

Solution:

function sortNumsAscending(arr) {
  let sorter = (a, b) => {
    return a - b;
  };

  if (arr == []) {
    return [];
  } else if (arr == null) {
    return [];
  } else {
    return arr.sort(sorter);
  }
}

Convert the given number to a Roman Numeral

Example:

> romanNumbers(1989);
> MCMLXXXIX

Reference:

Solution:

function romanNumbers(num) {
  let values = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
  let romanNumerals = [
    "M",
    "CM",
    "D",
    "CD",
    "C",
    "XC",
    "L",
    "XL",
    "X",
    "IX",
    "V",
    "IV",
    "I"
  ];

  let roman = "";

  for (i = 0; i < values.length; i++) {
    while (values[i] <= num) {
      roman += romanNumerals[i];
      num -= values[i];
    }
  }
  return roman;
}

console.log(romanNumbers(1989));

Return the absolute sum of all the array elements

Example:

> getAbsSum([-1, -3, -5, -4, -10, 0]);
> 23

Reference:

Solution:

function getAbsSum(arr) {
  const reducer = (acc, currVal) => {
    return acc + currVal;
  };

  return Math.abs(arr.reduce(reducer));
}

Form a triangle using hash tags

Example:

> #
> ##
> ###
> ####
> #####
> ######
> #######

Reference:

Solution:

for (x = "#"; x.length <= 7; x += x) {
  console.log(x);
}

Return how many words was given

Example:

> countWords('hello from kbpsystem!');
> 3

Reference:

Solution:

function countWords(str) {
  return str.split(" ").length;
}

Multiply all elements in an array by it's length

Example:

> MultiplyByLength([4,1,1]);
> [12, 3, 3]

Reference:

Solution:

function MultiplyByLength(arr) {
  let len = arr.length;
  for (i = 0; i < len; i++) {
    arr[i] = arr[i] * len;
  }
  return arr;
}

Create a function that will check if str1 ends with the characters in str2

Rules:

  • Take two strings as argument

  • Determine if second string matches ending of the first string

  • Return boolean value

Example:

> console.log(checkEnding("samurai", "zi"));
> false

Reference:

  • String.prototype.endsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.

  • Array.prototype.join method joins all elements of an array (or an array-like object) into a string and returns this string.

Solution:

function checkEnding(str1, str2) {
  return str1.endsWith(str2);
}

Create a function that will repeat each string character two times

Example:

> console.log(doubleChar('exercise'));
> eexxeerrcciissee

Reference:

  • Array.prototype.split The split() method splits a String object into an array of strings by separating the string into substrings, using a specified separator string to determine where to make each split.

  • Array.prototype.map The map() method creates a new array with the results of calling a provided function on every element in the calling array.

  • Array.prototype.join This method joins all elements of an array (or an array-like object) into a string and returns this string.

Solution:

function doubleChar(str) {
  let x = str.split("");
  return x.map(x => x.repeat(2)).join("");
}

Explanation: On the solution above, first we apply split method on the string argument and then store it in a variable called x. Next, we use the map function in order to performa duplication process on each element of the string, which was considered as array on this case because we just applied a split method on the string. Once duplication process is done, we call the join() method. Applying this method will convert the array back to being a string again but this time with a new duplicated values


Return the index location of an element from a given array. First argument is the array you'd like to search and the second one is the element (either string/number) to look for.

Example:

> console.log(findIndex(['github', 'gitlab', 'bitbucket', 'apollo'], 'gitlab'));
> 1

Reference:

  • Array.Prototype.indexOf() The indexOf() method returns the first index at which a given element can be found in the array, or -1 if it is not present. Note that this method is not widely supported in all browsers so a Polyfill is needed.

Solution:

function findIndex(arr, element) {
  return arr.indexOf(element);
}

Explanation: findIndex function takes two arguments. First is the array to be monitored and then the last is the element on the array that needs to be located. JavaScript has a built in method called indexOf() and we used that in order to locate the index location of a certain element in an array. This method loops through the array locating the index value of an element


This exercise is courtesy of FreeCodeCamp

This exercise is an implementation of do while statement. Our goal here is to keep on running a function/statement, set a paramater and as soon as the result of the parameter evaluates to false, the function/statement execution will stop

Example:

var result = "";
var i = 0;

do {
  i = i + 1;
  result = result + i;
} while (i < 5);

console.log(result);
// expected result: "12345"

Reference:

  • do while Definition from our friend in Mozilla:

    The do...while statement creates a loop that executes a specified statement until the test condition evaluates to false. The condition is evaluated after executing the statement, resulting in the specified statement executing at least once.

Solution:

// Setup
> var myArray = [];
> var i = 10;

> // Only change code below this line.
> do {
    myArray.push(i);
    i++;
    console.log(i)
} while (i < 11)

Bugs, Issues and want to Contribute?

We're on CodeTriage!

Open Source Helpers

Please feel free to submit an Issue or Pull Requests


MIT License | Copyright(c) 2018 Koleen Paunon

jsexercises's People

Contributors

kbpsystem777 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.