Objekter
Hva er et objekt?
En array lagrer en liste med verdier. Men hva om du vil lagre informasjon som hører sammen - for eksempel en persons navn, alder og by?
Et objekt løser dette ved å lagre data som nøkkel-verdi-par:
Nå er det tydelig hva hver verdi betyr! I Python kalles dette en dictionary, og i GDScript en Dictionary.
Lage et objekt
merke,modell,aar,fargeer nøkler (egenskaper)"Toyota","Yaris",2020,"rød"er verdier
Hente verdier
To måter å hente verdier på:
Endre og legge til
Objekter i praksis
Objekter er perfekte for å representere ting fra virkeligheten:
Arrays med objekter
Veldig vanlig kombinasjon - en liste med objekter:
elever = [
{"navn": "Ola", "poeng": 85},
{"navn": "Kari", "poeng": 92},
{"navn": "Per", "poeng": 78}
]
# Hente ett objekt
elever[0]["navn"] # "Ola"
elever[1]["poeng"] # 92
# Gå gjennom alle
for elev in elever:
print(f"{elev['navn']}: {elev['poeng']} poeng")
# Ola: 85 poeng
# Kari: 92 poeng
# Per: 78 poeng
var elever = [
{"navn": "Ola", "poeng": 85},
{"navn": "Kari", "poeng": 92},
{"navn": "Per", "poeng": 78}
]
# Hente ett objekt
elever[0].navn # "Ola"
elever[1].poeng # 92
# Gå gjennom alle
for elev in elever:
print("%s: %d poeng" % [elev.navn, elev.poeng])
# Ola: 85 poeng
# Kari: 92 poeng
# Per: 78 poeng
let elever = [
{ navn: "Ola", poeng: 85 },
{ navn: "Kari", poeng: 92 },
{ navn: "Per", poeng: 78 }
];
// Hente ett objekt
elever[0].navn // "Ola"
elever[1].poeng // 92
// Gå gjennom alle
for (let elev of elever) {
console.log(`${elev.navn}: ${elev.poeng} poeng`);
}
// "Ola: 85 poeng"
// "Kari: 92 poeng"
// "Per: 78 poeng"
Referanse
Se JavaScript-referansen for mer om objekter, destructuring og spread-operatoren.
Eksempel: Enkel kontaktliste
kontakter = [
{"navn": "Ola Nordmann", "telefon": "12345678", "epost": "ola@mail.no"},
{"navn": "Kari Hansen", "telefon": "87654321", "epost": "kari@mail.no"}
]
# Skrive ut alle kontakter
for kontakt in kontakter:
print(kontakt["navn"])
print(" Tlf: " + kontakt["telefon"])
print(" E-post: " + kontakt["epost"])
# Legge til ny kontakt
kontakter.append({
"navn": "Per Olsen",
"telefon": "11223344",
"epost": "per@mail.no"
})
var kontakter = [
{"navn": "Ola Nordmann", "telefon": "12345678", "epost": "ola@mail.no"},
{"navn": "Kari Hansen", "telefon": "87654321", "epost": "kari@mail.no"}
]
# Skrive ut alle kontakter
for kontakt in kontakter:
print(kontakt.navn)
print(" Tlf: " + kontakt.telefon)
print(" E-post: " + kontakt.epost)
# Legge til ny kontakt
kontakter.append({
"navn": "Per Olsen",
"telefon": "11223344",
"epost": "per@mail.no"
})
let kontakter = [
{ navn: "Ola Nordmann", telefon: "12345678", epost: "ola@mail.no" },
{ navn: "Kari Hansen", telefon: "87654321", epost: "kari@mail.no" }
];
// Skrive ut alle kontakter
for (let kontakt of kontakter) {
console.log(kontakt.navn);
console.log(" Tlf: " + kontakt.telefon);
console.log(" E-post: " + kontakt.epost);
}
// Legge til ny kontakt
kontakter.push({
navn: "Per Olsen",
telefon: "11223344",
epost: "per@mail.no"
});