Fun with Algorithms

algorithms

by nickadeemus2002

JavaScript

/* find longest word  */
function findLongestWord(str) {
  var pieces = str.split(' ');
  var longest = pieces.reduce(function(current, next){
			var result;
      if(next.length > current.length){
      	result = next;
      }
      else {
      	result = current;
      }
      return result;
  	}, 
    pieces[0]);
    
  return longest;
}
console.log( findLongestWord("The quick brown fox jumped over the lazy dog q") );


/* palindrome */
function palindrome(str) {
  var regEx = /([~!@#$%^&*()_+=`{}\[\]\|\\:;'<>,.-\/? ])+/g;
  var tmpString = str.replace( regEx, '').toLowerCase();
  var reverseTmpString = tmpString.split('').reverse().join('');
  return (tmpString === reverseTmpString) ? true : false;
}
console.log( palindrome("2_A3*3#A2") );
console.log( palindrome("makayla") );
console.log( palindrome("katie") );

/* factorial */
// n * ... * 3 * 2 * 1,.
function factorial(n) {

	//terminate:
  if(n < 0 ) {
  	return;
  }
  
  // base case:
  // check for 0
  if (n === 0) {
    return 1;
  }
  
  // recursive case:
  return n * factorial(n - 1);
}
console.log( factorial(14) );


/* reverse string */
function reverseString(str) {
  var tmpString = str.split('');  
  tmpString.reverse(); 
  str = tmpString.join('');
  return str;
}
console.log( reverseString("hello") );