„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Schritt-für-Schritt-Anleitung zum Erstellen eines anfängerfreundlichen Warenkorbs in JavaScript mithilfe von Arrays und Funktionen

Schritt-für-Schritt-Anleitung zum Erstellen eines anfängerfreundlichen Warenkorbs in JavaScript mithilfe von Arrays und Funktionen

Veröffentlicht am 07.11.2024
Durchsuche:669

Step-by-Step Guide to Building a Beginner-Friendly Shopping Cart in JavaScript Using Arrays and Functions

Der beste Weg, eine neue Programmiersprache zu lernen, besteht darin, so viele Projekte wie möglich zu erstellen. Als Anfänger werden Sie eine reibungslosere Erfahrung machen, wenn Sie Miniprojekte erstellen, die sich auf das konzentrieren, was Sie gelernt haben.
Das Ziel besteht darin, die „Tutorial-Hölle“ zu vermeiden – den gruseligen Ort, an dem man sich ständig mehrere Tutorial-Videos ansieht, ohne ein konkretes Projekt zu haben, um seine Fähigkeiten unter Beweis zu stellen – und außerdem das nötige Selbstvertrauen aufzubauen, um größere Projekte in Angriff zu nehmen.
In diesem Artikel erkläre ich, wie Sie als Anfänger mithilfe grundlegender Javascript-Konzepte ein Warenkorbsystem erstellen können.

Voraussetzungen

Um dieses Projekt in Angriff zu nehmen, benötigen Sie fundierte Kenntnisse in:

  • Funktionen
  • Methoden
  • Arrays

Was soll gebaut werden?

Der Warenkorb verfügt über ein System, mit dem Benutzer Folgendes tun können:

  • Artikel zum Warenkorb hinzufügen
  • Artikel aus dem Warenkorb entfernen
  • Warenkorbinhalt anzeigen
  • Berechnen Sie den Gesamtpreis der Artikel im Warenkorb

Schritt 1: Einrichten der Daten

Zu Beginn müssen wir einige Arrays erstellen, die die Daten für unsere Artikel enthalten. Die speziell benötigten Arrays sind:

  • itemNames: Gibt den Namen jedes Elements an.
  • itemPrices: Enthält den Preis, den jeder Artikel kostet.
  • itemQuantities: Gibt an, wie viel von einem bestimmten Artikel verfügbar ist.
  • itemInStock: Ermittelt durch die Verwendung von „true“ oder „false“, ob ein Artikel auf Lager ist.

const itemNames = ["Laptop", "Phone"];
const itemPrices = [1000, 500];
const itemQuantities = [1, 2];
const itemInStock = [true, true];


Schritt 2: Aufbau des Warenkorbs mit Funktionen

Wir werden eine Haupt-Warenkorbfunktion erstellen, die die Logik für den Warenkorb enthält. Wir werden Schließungen verwenden, um sicherzustellen, dass der Warenkorb privat bleibt und nur bestimmte Funktionen mit ihm interagieren können.


const ShoppingCart = () => {
  const cart = []; // The cart is a private array

  // Add an item to the cart
  const addItemToCart = (itemIndex) => {
    if (itemInStock[itemIndex]) {
      cart.push(itemIndex);
      console.log(`${itemNames[itemIndex]} added to the cart`);
    } else {
      console.log(`${itemNames[itemIndex]} is out of stock`);
    }
  };

  // Remove an item from the cart
  const removeItemFromCart = (itemIndex) => {
    const index = cart.indexOf(itemIndex);
    if (index > -1) {
      cart.splice(index, 1);
    }
  };

  // Get the names of items in the cart
  const getCartItems = () => {
    return cart.map(itemIndex => itemNames[itemIndex]);
  };

  // Calculate the total price of items in the cart
  const calculateTotal = () => {
    return cart.reduce((total, itemIndex) => {
      return total   itemPrices[itemIndex] * itemQuantities[itemIndex];
    }, 0);
  };

  return {
    addItemToCart,
    removeItemFromCart,
    getCartItems,
    calculateTotal
  };
};


Um den Code aufzuschlüsseln:

  • addItemToCart(itemIndex): Fügt einen Artikel basierend auf seinem Index zum Warenkorb hinzu (nur wenn er auf Lager ist).
  • removeItemFromCart(itemIndex): Entfernt einen Artikel anhand seines Index aus dem Warenkorb.
  • getCartItems(): Gibt den Namen der Artikel im Warenkorb zurück, indem map() verwendet wird, um die Indizes in Namen umzuwandeln.
  • berechneTotal(): Berechnet den Gesamtpreis durch Multiplikation der Preise und Mengen der Artikel im Warenkorb mithilfe der Methode „reduktion()“.

Schritt 3: Testen des Warenkorbs

Ein fertiges Projekt sollte getestet werden, um sicherzustellen, dass es wie erforderlich funktioniert. Wir werden testen auf:

  • Elemente hinzufügen

  • Anzeigen des Warenkorbs

  • Gesamtpreis prüfen


const myCart = ShoppingCart();

// Add a Laptop (item 0)
myCart.addItemToCart(0);

// Add a Phone (item 1)
myCart.addItemToCart(1);

// View cart contents
console.log(myCart.getCartItems()); // Output: ['Laptop', 'Phone']

// Calculate the total price
console.log(myCart.calculateTotal()); // Output: 2000


Um den Code aufzuschlüsseln:

  • Wir erstellen eine Instanz des Warenkorbs, indem wir ihn aufrufen: const myCart = shoppingCart();.
  • Wir fügen Artikel zum Warenkorb hinzu, indem wir ihren Index aus dem itemNames-Array verwenden: myCart.addItemToCart(0); für den Laptop und myCart.addItemTocart(1); für das Telefon.
  • Wir verwenden getCartItems(), um die Namen der Artikel im Warenkorb auszudrucken
  • Abschließend berechnen wir den Gesamtpreis mit berechneTotal().

Schritt 4: Artikel aus dem Warenkorb entfernen

Ein gutes Warenkorbsystem muss es dem Benutzer ermöglichen, Artikel aus dem Warenkorb zu entfernen. Wir können dies tun, indem wir „removeItemFromCart()“ aufrufen.


myCart.removeItemFromCart(1); // Remove the Phone

// View the updated cart
console.log(myCart.getCartItems()); // Output: ['Laptop']

// Recalculate the total price
console.log(myCart.calculateTotal()); // Output: 1000



Bonus: Abschlüsse im Warenkorbsystem verstehen

Abschlüsse tragen dazu bei, dass das Warenkorb-Array privat bleibt und nur über die von der Funktion ShoppingCart() zurückgegebenen Funktionen zugänglich ist.

  • Das Warenkorb-Array wird innerhalb des Warenkorbs() definiert und kann nicht direkt von außen aufgerufen werden. Da jedoch die Funktionen „addItemTocart()“, „removeItemFromCart()“, „getCartItems()“ und „calcuteTotal()“ im selben Bereich definiert sind, können sie mit „cart“ interagieren.
  • Abschlüsse sind eine leistungsstarke Funktion von JavaScript, die dabei hilft, den Datenschutz und die Struktur in Ihrem Code aufrechtzuerhalten.

Abschluss

Durch die Verwendung grundlegender Arrays und Funktionen haben Sie ein voll funktionsfähiges Warenkorbsystem erstellt, das Artikel hinzufügen, entfernen und Gesamtsummen berechnen kann. Das Tolle an diesem Projekt ist, dass es Abschlüsse verwendet, um den Zustand zu kapseln und zu verwalten, ohne dass komplexe Objekte oder Klassen erforderlich sind.

Endgültiger Code


const itemNames = ["Laptop", "Phone"];
const itemPrices = [1000, 500];
const itemQuantities = [1, 2];
const itemInStock = [true, true];

const ShoppingCart = () => {
  const cart = [];

  const addItemToCart = (itemIndex) => {
    if (itemInStock[itemIndex]) {
      cart.push(itemIndex);
      console.log(`${itemNames[itemIndex]} added to the cart`);
    } else {
      console.log(`${itemNames[itemIndex]} is out of stock`);
    }
  };

  const removeItemFromCart = (itemIndex) => {
    const index = cart.indexOf(itemIndex);
    if (index > -1) {
      cart.splice(index, 1);
    }
  };

  const getCartItems = () => {
    return cart.map(itemIndex => itemNames[itemIndex]);
  };

  const calculateTotal = () => {
    return cart.reduce((total, itemIndex) => {
      return total   itemPrices[itemIndex] * itemQuantities[itemIndex];
    }, 0);
  };

  return {
    addItemToCart,
    removeItemFromCart,
    getCartItems,
    calculateTotal
  };
};

const myCart = ShoppingCart();
myCart.addItemToCart(0);
myCart.addItemToCart(1);
console.log(myCart.getCartItems());
console.log(myCart.calculateTotal());
myCart.removeItemFromCart(1);
console.log(myCart.getCartItems());
console.log(myCart.calculateTotal());


Ich hoffe, dass Ihnen das Lernen Spaß gemacht hat, und ich freue mich darauf, dass Sie weitere tolle Projekte erstellen!

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/tomilonge/step-by-step-guide-to-building-a-beginner-freundliche-shopping-cart-in-javascript-using-arrays-and-functions- 4c68? 1Wenn es einen Verstoß gibt, wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3