Module 1: Arrays & Iteration Methods
Array Basics
let fruits = ["apple", "banana", "mango"];
fruits[0]; // "apple" — indexing starts at 0
fruits.length; // 3
fruits[1] = "orange"; // change an item
fruits.push("kiwi"); // add to end
fruits.pop(); // remove from end
fruits.unshift("fig"); // add to start
fruits.shift(); // remove from start
fruits.indexOf("mango"); // position, -1 if not found
fruits.includes("apple"); // true/false
fruits.slice(0, 2); // extract a section, doesn't modify original
fruits.splice(1, 1, "x"); // remove/insert in place, modifies original
fruits.join(", "); // turns array into a string
map, filter & reduce
These three are the backbone of modern array work — each returns a NEW result without changing the original array.
let numbers = [1, 2, 3, 4, 5];
// map — transforms every item, same length in, same length out
let doubled = numbers.map(n => n * 2);
console.log(doubled); // [2, 4, 6, 8, 10]
// filter — keeps only items that pass a test
let evens = numbers.filter(n => n % 2 === 0);
console.log(evens); // [2, 4]
// reduce — combines every item into a single value
let sum = numbers.reduce((total, n) => total + n, 0);
console.log(sum); // 15
// Chaining is extremely common in real code
let result = numbers.filter(n => n % 2 === 0).map(n => n * 10);
console.log(result); // [20, 40]
find, some & every
let numbers = [1, 2, 3, 4, 5];
numbers.find(n => n > 3); // 4 — the FIRST item that passes
numbers.some(n => n > 3); // true — at least one item passes
numbers.every(n => n > 0); // true — ALL items pass
numbers.every(n => n > 3); // false
sort & forEach
let names = ["Charlie", "Alice", "Bob"];
names.sort(); // ["Alice", "Bob", "Charlie"] — alphabetical by default
let scores = [40, 100, 1, 5, 25];
scores.sort(); // [1, 100, 25, 40, 5] — WRONG, sorted as strings!
scores.sort((a, b) => a - b); // [1, 5, 25, 40, 100] — correct for numbers
let colors = ["red", "green", "blue"];
colors.forEach((color, index) => {
console.log(index, color);
});
Watch out: sort() without a compare function converts values to
strings first — always pass a compare function when sorting numbers.