JS Cardio Session Three

by trentHarlem

HTML

<h1>
JS Cardio Session Three
</h1>

JavaScript

// return sum of all numbers No Arrays

/* function sumAll(...nums) {
return nums.reduce((a,b)=>a+b)
} */

// without using an ARRAY
function sumAll(...nums) {
  let sum = 0;
  for (let i = 0; i < nums.length; i++) {
    sum += nums[i]
  }
  return sum
}
//
console.log('sumAll', sumAll(2, 5, 6, 7))


// sum all Primes

function sumPrimes(n) {
  let primes = []
  let total = 0

  function isPrime(i) {
    for (let j = 2; j < i; j++) {
      if (i % j === 0) return false
    }
    primes.push(i)
    return true
  }
  for (let i = 2; i <= n; i++) {
    if (isPrime(i)) total += i
  }
  // console.log(primes)
  //return total
  return primes.reduce((a, c) => a + c, 0)
}
console.log(sumPrimes(10))



// Seek & Destroy
// take 2 args --- an array, remove these items

const seekDestroy = (arr, ...items) => arr.filter(v => !items.includes(v))

console.log(seekDestroy([1, 2, 3, 4, 5], 1, 2, 3))
console.log(seekDestroy([69, 1, 'world', 4, 'life'], 1, 2, 'world', 'zip'))

function sortByHeight(arr) {
// let cheese = Array.from(...arguments)
// console.log(arr)
// console.log(cheese)
let sorted = arr.filter(v=>v!== -1).sort((a, b) => a - b)
let trees = arr.map((v,i) => v === -1 ? [i,v] : v).filter(v=>typeof(v)!=='number').forEach(v=>sorted.splice(v[0],0,v[1]))
return sorted
}

console.log('sort', sortByHeight([-1, 150, 190, 170, -1, -1, 160, 180]))


const missingLetter=(str)=> str[str.length-1]==='z'?undefined:String.fromCharCode(str[str.length-1].charCodeAt()+1)

console.log(missingLetter('abcd'),'exp e')
console.log(missingLetter('abcdefg...z'),'exp undefined')

// even odd sums

function evenOddSums(arr) {
let even = arr.filter(v=>v%2===0).reduce((a,c)=>a+c,0)
let odd = arr.filter(v=>v%2===1).reduce((a,c)=>a+c,0)
return [even,odd]
}


function evenOddSums2(arr) {
let even = 0,odd = 0
 arr.forEach(n=>((n%2===0)?(even+=n):(odd+=n)))
return [even,odd]
}

function evenOddSums3(arr) {
let even = 0,odd = 0
 arr.reduce((a,c)=>(c%2===0)?even+=c:odd+=c,[even, odd])
//return...