Collections & Loops

TypeScript arrays, Maps, Sets, and iteration patterns.

Arrays

const items: string[] = [];
const numbers: number[] = [1, 2, 3];

items.push("hello");
items.pop();                  // remove last
numbers.filter(n => n > 1);  // [2, 3]
numbers.map(n => n * 2);      // [2, 4, 6]
numbers.find(n => n === 2);   // 2
numbers.includes(2);          // true

Readonly arrays

const ro: readonly number[] = [1, 2, 3];
// ro.push(4); // Error

Map & Set

const m = new Map<string, number>();
m.set("a", 1);
m.get("a");           // 1
m.has("a");           // true
m.delete("a");
m.size;               // 0

const s = new Set<number>([1, 2, 3]);
s.add(4);
s.has(2);             // true

Loops

for / for…of

for (let i = 0; i < 10; i++) {
  console.log(i);
}

for (const item of items) {
  console.log(item);
}

for…in (object keys)

const obj = { a: 1, b: 2 };
for (const key in obj) {
  console.log(key, obj[key as keyof typeof obj]);
}

forEach

items.forEach((item, index) => {
  console.log(index, item);
});

while

let running = true;
while (running) {
  if (done()) running = false;
}

break & continue

for (let i = 0; i < 10; i++) {
  if (i % 2 === 0) continue;
  if (i > 7) break;
}

Next: String Manipulation