Javascript

4. Avancerade datatyper

Hur hanterar jag Avancerade strukturer i Javascript

🔹 1. Arrays (listor)

En array är en ordnad lista av värden.

Skapa en array

let fruits = ["äpple", "banan", "päron"];

Vanliga operationer

fruits.push("apelsin");    // Lägg till sist
fruits.pop();              // Ta bort sista
fruits.unshift("mango");   // Lägg till först
fruits.shift();            // Ta bort första

console.log(fruits[0]);    // Läs element (index)
console.log(fruits.length);// Antal element

Iterera över array

for (let fruit of fruits) {
  console.log(fruit);
}

fruits.forEach(f => console.log(f));   // foreach
let big = fruits.map(f => f.toUpperCase()); // transformera
let onlyB = fruits.filter(f => f.startsWith("b")); // filtrera

🔹 2. Objects (objekt/dictionaries)

I JavaScript är ett object en samling av nyckel–värde-par. Detta används som dictionary.

Skapa ett objekt

let person = {
  name: "Stefan",
  age: 35,
  city: "Stockholm"
};

Läsa och skriva värden

console.log(person.name);    // punktnotation
console.log(person["city"]); // bracket-notation

person.age = 36;             // ändra värde
person.country = "Sverige";  // lägg till nytt
delete person.city;          // ta bort property

Iterera över objekt

for (let key in person) {
  console.log(key, person[key]);
}

Object.keys(person);   // ["name", "age", "country"]
Object.values(person); // ["Stefan", 36, "Sverige"]
Object.entries(person);// [["name","Stefan"],["age",36],["country","Sverige"]]

🔹 3. Dictionaries med Map

Map är bättre än vanliga objekt om du behöver mer avancerad dictionary-hantering.

Skapa en Map

let userMap = new Map();
userMap.set("id", 123);
userMap.set("name", "Anna");

Användning

console.log(userMap.get("name"));  // "Anna"
console.log(userMap.has("id"));    // true
userMap.delete("id");              // tar bort
console.log(userMap.size);         // antal element

Iterera över Map

for (let [key, value] of userMap) {
  console.log(key, value);
}

🔹 4. Kombination: Arrays av Objects

Vanligt när man jobbar med listor av data:

let users = [
  { id: 1, name: "Eva" },
  { id: 2, name: "Oskar" }
];

let oskar = users.find(u => u.name === "Oskar"); // hitta objekt
let names = users.map(u => u.name);              // ["Eva", "Oskar"]

Sammanfattning

  • Array → ordnad lista (används för samlingar i ordning).
  • Object → key-value dictionary, vanligast för data.
  • Map → modern dictionary med mer funktioner (nycklar kan vara vilken typ som helst).