Skip to content

Instantly share code, notes, and snippets.

@yclim95
Last active December 18, 2020 11:17
Show Gist options
  • Save yclim95/749b324fc9211a25bbfecaff972e24e7 to your computer and use it in GitHub Desktop.
Save yclim95/749b324fc9211a25bbfecaff972e24e7 to your computer and use it in GitHub Desktop.
Introduction to Basic Algorithm Scripting: FreeCodeCamp

Introduction to Basic Algorithm Scripting

1. Basic Algorithm Scripting: Convert Celsius to Fahrenheit

function convertToF(celsius) {
  let fahrenheit = celsius * (9/5) + 32;
  return fahrenheit;
}

convertToF(30);

2. Basic Algorithm Scripting: Reverse a String

function reverseString(str) {
  return str.split("").reverse().join("");
}

reverseString("hello");

3. Basic Algorithm Scripting: Factorialize a Number

function factorialize(num) {
  if (num < 0) return -1;
  else if (num === 0 ) return 1;
  else{
    return (num * factorialize(num-1));
  }
}

factorialize(5);

4. Basic Algorithm Scripting: Find the Longest Word in a String

function findLongestWordLength(str) {
  return str.split(' ')
    .reduce(function(accumulator, currentValue){
    return Math.max(accumulator,currentValue.length);
  }, 0);
}

findLongestWordLength("The quick brown fox jumped over the lazy dog");

5. Basic Algorithm Scripting: Return Largest Numbers in Arrays

function largestOfFour(arr) {
  return arr.map(Function.apply.bind(Math.max,null));
}

largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

6. Basic Algorithm Scripting: Confirm the Ending

function confirmEnding(str, target) {
  return str.slice(-target.length) === target;
}

confirmEnding("Bastian", "n");

7. Basic Algorithm Scripting: Repeat a String Repeat a String

function repeatStringNumTimes(str, num) {
  if (num <= 0){
    return "";
  }else{
    return str + repeatStringNumTimes(str, num-1);
  }
}

repeatStringNumTimes("abc", 3);
function repeatStringNumTimes(str, num) {
  return num > 0 ? str + repeatStringNumTimes(str, num-1) : "";
}

repeatStringNumTimes("abc", 3);

8. Basic Algorithm Scripting: Truncate a String

function truncateString(str, num) {
  return str.length > num ? str.slice(0,num) + "..." : str;
}

truncateString("A-tisket a-tasket A green and yellow basket", 8);

9. Basic Algorithm Scripting: Finders Keepers

function findElement(arr, func) {
  let num = 0;
  for (let i = 0; i < arr.length; i++){
    num = arr[i];
    if (func(num)) return num;
  }
  return undefined;
}

findElement([1, 2, 3, 4], num => num % 2 === 0);
function findElement(arr, func) {
  return arr.find(func);
}

findElement([1, 2, 3, 4], num => num % 2 === 0);

10. Basic Algorithm Scripting: Boo who

function booWho(bool) {
  return typeof bool === "boolean";
}

booWho(null);

11. Basic Algorithm Scripting: Title Case a Sentence

function titleCase(str) {
  var convertToArray = str.toLowerCase().split(" ");
  var result = convertToArray.map(function(val){
    return val.replace(val.charAt(0), val.charAt(0).toUpperCase());
  });
  return result.join(" ");
}

titleCase("I'm a little tea pot");

12. Basic Algorithm Scripting: Slice and Splice

function frankenSplice(arr1, arr2, n) {
  let arr = arr2.slice();
  arr.splice(n,0, ...arr1);
  return arr;
}

frankenSplice([1, 2, 3], [4, 5, 6], 1);

13. Basic Algorithm Scripting: Falsy Bouncer

function bouncer(arr) {
  let newArr = [];
  for (let i = 0; i < arr.length; i++){
    if (arr[i]) newArr.push(arr[i]);
  }
  return newArr;
}

bouncer([7, "ate", "", false, 9]);
function bouncer(arr) {
  return arr.filter(Boolean);
}

bouncer([7, "ate", "", false, 9]);

14. Basic Algorithm Scripting: Where do I Belong

function getIndexToIns(arr, num) {
  return arr.filter(val => num > val).length;
}

getIndexToIns([40, 60], 50);
function getIndexToIns(arr, num) {
  var count = 0;
  for (var i = 0; i < arr.length; i++) {
    if (num > arr[i]) {
      count++;
    }
  } // counts how many array numbers are smaller than num
  return count; // the above equals num's position in a sorted array
}

getIndexToIns([40, 60], 50);

15. Basic Algorithm Scripting: Mutations

function mutation(arr) {
  return arr[1].toLowerCase().split("").every(function(letter){
    return arr[0].toLowerCase().indexOf(letter) != -1; //return true as long as the array contain all of the letters
  });
}

mutation(["hello", "hey"]);

16. Basic Algorithm Scripting: Chunky Monkey

function chunkArrayInGroups(arr, size) {
  let arr2 = [];
  for(let i = 0; i < arr.length; i += size){
    arr2.push(arr.slice(i, i + size));
  }
  return arr2;
}

chunkArrayInGroups(["a", "b", "c", "d"], 2);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment