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...