JS Cardio

JS exercises

by trentHarlem

HTML

<header>

  <h1>
    /* JS Cardio */
  </h1>

</header>


<h2>
  Session One
</h2>

<Section>
  <ul>
    <li>Reverse String</li>
    <li>Palindrome Checker</li>
    <li>Capitalize Letter</li>
    <li>Most Occurrences</li>
    <li>Fizz Buzz</li>
  </ul>
</Section>

CSS

body {
  background-color: blueviolet;
  color: whitesmoke;
  font: bold 1.2em system-ui, sans-serif;
  text-align: center;
}

header {
  position: relative;
  margin: 5px;
}

h1,
h2 {
  -webkit-text-stroke: 2px black;
  -webkit-text-fill-color: blueviolet;
}

h2 {
  font-size: 1.9em;
  margin: 40px 0px 10px 0px;
  -webkit-text-fill-color: #33333399;

}

header h1 {
  position: relative;
  /* color: yellow; */

  -webkit-text-fill-color: blueviolet;

  -webkit-text-stroke: 1px blanchedalmond;
  border: 1px solid chartreuse;
  border-radius: 32px;
  background: #ffffff33;
  margin: 0;
  padding: 12px;
}

header h1 span {
  font-family: monospace;
  -webkit-text-fill-color: blueviolet;

}

/* to center bullets */
ul {
  display: inline-block;
  list-style-type: circle;
  text-align: left;
}

JavaScript

// JS CARDIO

// reverse string
const rev = s => s.split('').reverse().join('')
console.log(rev('Let\'s Play!'))

function revStr(str) {
  let output = []
  for (let c of str) output.unshift(c)
  return output.join('')
}
console.log(revStr('type some shit here'))
console.log(revStr('haha... you\'re on the way Back!'))


const revRed = s => s.split('').reduce((revS, c) => c + revS, '')
console.log(revRed('Let\'s Play!'))

// is Palindrome
const isPalindrome = s => (s === s.split('').reverse().join('')) ? true : false

console.log(isPalindrome('hello'))
console.log(isPalindrome('racecar'))



///////////
// Capitalize Letter
function capLetter(str) {
  const capitalize = word => word.replace(word[0], word[0].toUpperCase())
  return str.toLowerCase().split(' ').map(capitalize).join(' ')
}

console.log(capLetter('hello'))
/* console.log(capLetter('god bless america')) */
//////////
// Max Char
function maxChar(str) {
  const strObj = str.split('').reduce((occurrences, letter) => {
    occurrences[letter] = occurrences[letter] ? (occurrences[letter] + 1) : 1;
    return occurrences;
  }, {});
  const [letter, amount] = Object.entries(strObj).sort((a, b) => b[1] - a[1]).shift()
  return `The letter ${letter} occurs ${amount} times.`
}
console.log(maxChar('javascript'))
//////////
// random FIZZBUZZ challenge

function fizzBuzz(n) {
  for (let i = 1; i <= n; i++) {
    if (i % 3 === 0) console.log('FIZZ')
    if (i % 5 === 0) console.log('BUZZ')
    if (i % 3 === 0 && i % 5 === 0) console.log('FIZZBUZZ')
    else console.log(i)
  }
}
//fizzBuzz(30)

/*   return arr.reduce((occurrences, letter) => {
    occurrences[letter] = occurrences[letter] ? (occurrences[letter] + 1) : 1;
    return occurrences;}, {}); */