Objekte als Argumente
Funktionen und Objekte passen gut zusammen. Eine Funktion kann ein ganzes Objekt als Argument entgegennehmen und die Eigenschaften lesen, die sie braucht:
function beschreibeTier(tier) {
return `${tier.name} ist ${tier.alter} Jahre alt.`;
}
const rex = { name: "Rex", art: "Hund", alter: 3 };
console.log(beschreibeTier(rex));
console.log(beschreibeTier({ name: "Kiwi", art: "Papagei", alter: 4 }));Rex ist 3 Jahre alt.
Kiwi ist 4 Jahre alt.Der Parameter tier ist ein Name für das Objekt, das du im Aufruf übergibst: im ersten Aufruf Rex' Objekt, im zweiten Kiwis. Statt drei Argumenten für Name, Art und Alter übergibst du ein einziges, und die Funktion nimmt sich daraus, was sie braucht.
Eine Funktion kann auch ein Array aus Objekten entgegennehmen. Diese hier gibt das Durchschnittsalter der Tiere im Array zurück:
function durchschnittsalter(tiere) {
let gesamt = 0;
for (const tier of tiere) {
gesamt += tier.alter;
}
return gesamt / tiere.length;
}
const tiere = [
{ name: "Rex", art: "Hund", alter: 3 },
{ name: "Bella", art: "Katze", alter: 2 },
{ name: "Kiwi", art: "Papagei", alter: 4 }
];
console.log(durchschnittsalter(tiere));3Du schreibst die Funktion einmal und kannst sie für jedes Array von Tieren benutzen: für diese Zoohandlung, für eine andere oder für die Tiere, die morgen ankommen.
Übrigens benutzt du seit der allerersten Lektion ein Objekt mit Funktionen. console ist ein Objekt, und log ist eine seiner Eigenschaften. Ihr Wert ist eine Funktion, deshalb rufst du sie mit Klammern auf: console.log(). Eine Funktion, die in einem Objekt gespeichert ist, nennt man Methode. Deshalb heißen auch push() und includes() Array-Methoden. Du kannst eine Funktion auch in deinem eigenen Objekt speichern:
const hund = {
name: "Rex",
belle: () => console.log("Wuff!")
};
hund.belle();Wuff!So schreibst du es:
Anweisungen
- 1
Vervollständige die Funktion
formatiereArtikel: Sie soll den Namen und den Preis des Artikels, den sie bekommt, als Text wie"Ball: 60"zurückgeben (nicht ausgeben). Die Schleife am Ende gibt dann alle vier Artikel aus:Hundefutter: 250,Ball: 60und so weiter. - 2
Vervollständige die Funktion
gesamtpreis: Sie soll die Summe der Preise aller Artikel im ArrayartikelListezurückgeben. Die letzten beiden Zeilen sollten dannGesamt: 535undKleiner Warenkorb: 105lauten.