Lists Hacks Javascript
This is a CSP Hacks notebook based on the lists lesson
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:
- Find the total sum.
- 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>