Javascript Lists Homework

  • After going through the lists lesson work on these hacks in your own repository

Hack 1 – Add Up Numbers

Make a list of numbers. Write code to:

  1. Find the total sum.
  2. Find the average.
%%js
let numbers = [4, 7, 1, 9, 6, 7, 10];

// 1) Classic for loop
let sum1 = 0;
for (let i = 0; i < numbers.length; i++) {
  sum1 += numbers[i];
}
console.log(sum1); // 44

// 2) for...of (cleaner)
let sum2 = 0;
for (const n of numbers) sum2 += n;
console.log(sum2); // 44

// 3) Array.prototype.reduce (idiomatic)
const sum3 = numbers.reduce((acc, n) => acc + n, 0);
console.log(sum3); // 44
<IPython.core.display.Javascript object>

Hack 2 – Count Repeats

Make a list with repeated items. Write code to count how many times each item appears.

%%js
let items = ["cat", "dog", "cat", "bird", "bird", "bird"];

let counts = {};

for (const item of items) {
  if (counts[item]) {
    counts[item]++;
  } else {
    counts[item] = 1;
  }
}

console.log(counts);
// Output: { cat: 2, dog: 1, bird: 3 }

<IPython.core.display.Javascript object>

Hack 3 – Keep Only Evens

Make a list of numbers. Write code to create a new list with only even numbers.

%%js
let evens = [];
let numbers = [8, 7, 12, 3, 66, 18, 5];
for (let num of numbers) {
  if (num % 2 === 0) {
    evens.push(num);
  }
}

console.log(evens);
// Output: [8, 12, 66, 18]
<IPython.core.display.Javascript object>