Testen Sie Ihre Fähigkeiten: Schleifen
Das Ziel dieses Fähigkeitstests ist es, zu beurteilen, ob Sie unseren Looping Code Artikel verstanden haben.
Hinweis: Sie können Lösungen ausprobieren, indem Sie den Code herunterladen und in einem Online-Editor wie CodePen oder JSFiddle einfügen.
Wenn Sie nicht weiterkommen, können Sie sich in einem unserer Kommunikationskanäle an uns wenden.
DOM-Manipulation: als nützlich erachtet
Einige der unten stehenden Fragen erfordern von Ihnen, etwas DOM Manipulationscode zu schreiben, um sie zu vervollständigen — wie z.B. neue HTML-Elemente zu erstellen, deren Textinhalte auf bestimmte Zeichenfolgenwerte zu setzen und sie in bestehende Elemente auf der Seite zu verschachteln — alles via JavaScript.
Wir haben dies noch nicht explizit in diesem Kurs gelehrt, aber Sie werden einige Beispiele gesehen haben, die dies verwenden, und wir möchten, dass Sie etwas Recherche darüber betreiben, welche DOM-APIs Sie benötigen, um die Fragen erfolgreich zu beantworten. Ein guter Ausgangspunkt ist unser DOM Scripting Einführung Tutorial.
Schleifen 1
In unserer ersten Schleifen-Aufgabe möchten wir, dass Sie eine grundlegende Schleife erstellen.
Um die Aufgabe zu vervollständigen:
- Klicken Sie auf "Play" im Codeblock unten, um das Beispiel im MDN Playground zu bearbeiten.
- Schreiben Sie eine Schleife, die durch alle Elemente im bereitgestellten
myArray
iteriert und sie auf dem Bildschirm innerhalb von Listenelementen (<li>
) ausgibt. Sie sollten an die bereitgestelltelist
angehängt werden.
Wenn Sie einen Fehler machen, können Sie Ihre Arbeit mit der Reset-Taste im MDN Playground löschen. Wenn Sie wirklich feststecken, können Sie die Lösung unterhalb der Live-Ausgabe ansehen.
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 zu zeigen
Ihr fertiges JavaScript sollte etwa so aussehen:
// ...
// 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, gegeben ein Name, in einem Array von Objekten mit Namen und Telefonnummern sucht und, wenn es den Namen findet, den Namen und die Telefonnummer in einem Absatz ausgibt.
Es werden Ihnen drei Variablen zur Verfügung gestellt:
name
: Enthält einen Namen, nach dem gesucht werden soll.para
: Enthält einen Verweis auf einen Absatz, der verwendet wird, um die Ergebnisse zu berichten.phonebook
: Enthält die Telefonbucheinträge, die durchsucht werden sollen.
Hinweis: Wenn Sie noch nichts über Objekte gelesen haben, machen Sie sich keine Sorgen! Für jetzt müssen Sie nur wissen, wie man auf ein Member-Wert-Paar zugreift. Sie können über Objekte im JavaScript Objekt Grundlagen Tutorial nachlesen.
Um die Aufgabe zu vervollständigen:
- Klicken Sie auf "Play" im Codeblock unten, um das Beispiel im MDN Playground zu bearbeiten.
- Schreiben Sie eine Schleife, die durch das (
phonebook
) Array iteriert und nach dem bereitgestelltenname
sucht. Sie sollten eine Art von Schleife verwenden, die Sie in der vorherigen Aufgabe noch nicht verwendet haben. - Wenn der
name
gefunden wird, schreiben Sie ihn und die zugehörigenummer
in dastextContent
des bereitgestellten Absatzes (para
), in der Form "<name>'s number is <number>." Anschließend beenden Sie die Schleife, bevor sie ihren Lauf abgeschlossen hat. - Wenn keines der Objekte den
name
enthält, drucken Sie "Name not found in the phonebook" in dastextContent
des bereitgestellten Absatzes.
Sie können auch den Ausgangspunkt für diese Aufgabe herunterladen, um in Ihrem eigenen Editor oder in einem Online-Editor zu arbeiten.
Wenn Sie einen Fehler machen, können Sie Ihre Arbeit mit der Reset-Taste im MDN Playground löschen. Wenn Sie wirklich feststecken, können Sie die Lösung unterhalb der Live-Ausgabe ansehen.
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 zu zeigen
Ihr fertiges JavaScript sollte etwa so aussehen:
// ...
// 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, indem Sie die bereitgestellte Testfunktion verwenden und die Primzahlen ausdrucken.
Ihnen wird Folgendes bereitgestellt:
i
: Beginnt mit einem Wert von500
; vorgesehen, um als Iterator verwendet zu werden.para
: Enthält einen Verweis auf einen Absatz, der verwendet wird, um die Ergebnisse zu berichten.isPrime()
: Eine Funktion, die bei Übergabe einer Zahltrue
zurückgibt, wenn die Zahl eine Primzahl ist, undfalse
, wenn nicht.
Um die Aufgabe zu vervollständigen:
- Klicken Sie auf "Play" im Codeblock unten, um das Beispiel im MDN Playground zu bearbeiten. Sie sollten eine Art von Schleife verwenden, die Sie in den vorherigen beiden Aufgaben noch nicht verwendet haben.
- Schreiben Sie eine Schleife, die durch jede Zahl von
500
bis2
(1 wird nicht als Primzahl gezählt) iteriert und die bereitgestellteisPrime()
Funktion auf jede anwendet. - 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 zusammen mit einer Art Separator hinzu.
Sie können auch den Ausgangspunkt für diese Aufgabe herunterladen, um in Ihrem eigenen Editor oder in einem Online-Editor zu arbeiten.
Wenn Sie einen Fehler machen, können Sie Ihre Arbeit mit der Reset-Taste im MDN Playground löschen. Wenn Sie wirklich feststecken, können Sie die Lösung unterhalb der Live-Ausgabe ansehen.
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 zu zeigen
Ihr fertiges JavaScript sollte etwa so aussehen:
// ...
// 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!
// ...