Testen Sie Ihre Fähigkeiten: Schleifen

Ziel dieses Fähigkeitstests ist es, Ihnen zu helfen, zu beurteilen, ob Sie unseren Artikel Code-Schleifen verstanden haben.

Hinweis: Um Hilfe zu erhalten, lesen Sie unseren Leitfaden zum Testen Ihrer Fähigkeiten. Sie können uns auch über einen unserer Kommunikationskanäle erreichen.

DOM-Manipulation: als nützlich erachtet

Einige der untenstehenden Fragen erfordern von Ihnen, dass Sie ein wenig DOM-Manipulationscode schreiben, um sie zu vervollständigen — wie zum Beispiel das Erstellen neuer HTML-Elemente, das Setzen ihrer Textinhalte auf bestimmte Zeichenfolgenwerte und das Einfügen dieser in vorhandene Elemente auf der Seite — alles über JavaScript.

Wir haben dies bisher im Kurs nicht ausdrücklich gelehrt, aber Sie werden einige Beispiele gesehen haben, die es verwenden, und wir möchten, dass Sie einige Nachforschungen anstellen, welche DOM-APIs Sie benötigen, um die Fragen erfolgreich zu beantworten. Ein guter Ausgangspunkt ist unser Einstieg in DOM-Scripting Tutorial.

Schleifen 1

In unserer ersten Schleifenaufgabe möchten wir, dass Sie eine grundlegende Schleife schreiben, die durch alle Elemente im bereitgestellten myArray iteriert und diese auf dem Bildschirm innerhalb von Listenelementen (<li>-Elementen) ausgibt. Diese sollten an die bereitgestellte list angehängt werden.

js
const myArray = ["tomatoes", "chick peas", "onions", "rice", "black beans"];
const list = document.createElement("ul");
const section = document.querySelector("section");
section.appendChild(list);

// Don't edit the code above here!

// Add your code here
Klicken Sie hier, um die Lösung anzuzeigen

Ihr fertiges JavaScript sollte in etwa so aussehen:

js
// ...
// Don't edit the code above here!

for (let item of myArray) {
  const listItem = document.createElement("li");
  listItem.textContent = item;
  list.appendChild(listItem);
}

Schleifen 2

In dieser nächsten Aufgabe möchten wir, dass Sie ein einfaches Programm schreiben, das, gegebenenfalls einem Namen, ein Array von Objekten durchsucht, die Namen und Telefonnummern enthalten, und wenn es den Namen findet, gibt es den Namen und die Telefonnummer in einem Absatz aus.

Sie erhalten drei Variablen, um zu beginnen:

  • name: Enthält einen zu suchenden Namen.
  • para: Enthält einen Verweis auf einen Absatz, der verwendet wird, um die Ergebnisse zu melden.
  • phonebook: Enthält die Telefonbuch-Einträge, die durchsucht werden sollen.

Hinweis: Wenn Sie noch nichts über Objekte gelesen haben, machen Sie sich keine Sorgen! Vorerst müssen Sie nur wissen, wie Sie auf ein Mitglied-Wert-Paar zugreifen. Sie können sich im JavaScript-Objekt-Grundlagen Tutorial über Objekte informieren.

Um die Aufgabe abzuschließen:

  1. Schreiben Sie eine Schleife, die durch das (phonebook)-Array iteriert und nach dem bereitgestellten name sucht. Sie sollten eine Art Schleife verwenden, die Sie in der vorherigen Aufgabe nicht verwendet haben.
  2. Wenn der name gefunden wird, schreiben Sie ihn und die zugehörige number in das textContent des bereitgestellten Absatzes (para), in der Form "Der Name von <name> ist <number>." Beenden Sie danach die Schleife, bevor sie vollständig durchlaufen ist.
  3. Wenn keines der Objekte den name enthält, drucken Sie "Name nicht im Telefonbuch gefunden" in das textContent des bereitgestellten Absatzes.
js
const name = "Mustafa";
const para = document.createElement("p");

const phonebook = [
  { name: "Chris", number: "1549" },
  { name: "Li Kang", number: "9634" },
  { name: "Anne", number: "9065" },
  { name: "Francesca", number: "3001" },
  { name: "Mustafa", number: "6888" },
  { name: "Tina", number: "4312" },
  { name: "Bert", number: "7780" },
  { name: "Jada", number: "2282" },
];

const section = document.querySelector("section");
section.appendChild(para);

// Don't edit the code above here!

// Add your code here
Klicken Sie hier, um die Lösung anzuzeigen

Ihr fertiges JavaScript sollte in etwa so aussehen:

js
// ...
// Don't edit the code above here!

for (let i = 0; i < phonebook.length; i++) {
  if (phonebook[i].name === name) {
    para.textContent = `${phonebook[i].name}'s number is ${phonebook[i].number}.`;
    break;
  }

  if (i === phonebook.length - 1) {
    para.textContent = "Name not found in the phonebook";
  }
}

Schleifen 3

In dieser letzten Aufgabe werden Sie jede Zahl von 500 bis 2 testen, um zu sehen, welche Primzahlen sind, mit der bereitgestellten Testfunktion, und die Primzahlen ausgeben.

Ihnen werden folgende Informationen zur Verfügung gestellt:

  • i: Beginnt mit einem Wert von 500; soll als Iterator verwendet werden.
  • para: Enthält einen Verweis auf einen Absatz, der verwendet wird, um die Ergebnisse zu melden.
  • isPrime(): Eine Funktion, die, wenn sie eine Zahl erhält, true zurückgibt, wenn die Zahl eine Primzahl ist, und false, wenn nicht.

Um die Aufgabe abzuschließen:

  1. Schreiben Sie eine Schleife, die jede Zahl von 500 bis 2 durchläuft (1 wird nicht als Primzahl gezählt), und die bereitgestellte isPrime()-Funktion für jede ausführt.
  2. Für jede Zahl, die keine Primzahl ist, fahren Sie mit der nächsten Schleifeniteration fort. Für jede, die eine Primzahl ist, fügen Sie sie dem textContent des Absatzes mit einer Art Trennzeichen hinzu.

Sie sollten eine Art Schleife verwenden, die Sie in den vorherigen zwei Aufgaben nicht verwendet haben.

js
let i = 500;
const para = document.createElement("p");
const section = document.querySelector("section");
function isPrime(num) {
  for (let i = 2; i < num; i++) {
    if (num % i === 0) {
      return false;
    }
  }
  return true;
}
// Don't edit the code above here!

// Add your code here

// Don't edit the code below here!

section.appendChild(para);
Klicken Sie hier, um die Lösung anzuzeigen

Ihr fertiges JavaScript sollte in etwa so aussehen:

js
// ...
// Don't edit the code above here!

do {
  if (isPrime(i)) {
    para.textContent += `${i}, `;
  }
  i--;
} while (i > 1);

// Don't edit the code below here!
// ...