Datumsbereichsgenerator

JavaScriptJavaScriptBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir untersuchen, wie man einen Generator für Datumsbereiche mit JavaScript erstellt. Dieser Generator wird es uns ermöglichen, alle Datumsangaben innerhalb eines bestimmten Bereichs mit einem angegebenen Schritt einfach zu generieren. Mit dem Date-Konstruktor und dem yield-Schlüsselwort können wir effizient über die Datumsangaben iterieren und sie an den Benutzer zurückgeben. Dieses Lab bietet eine großartige Gelegenheit, die Arbeit mit Schleifen und Datumsangaben in JavaScript zu üben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/loops("Loops") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28248{{"Datumsbereichsgenerator"}} javascript/data_types -.-> lab-28248{{"Datumsbereichsgenerator"}} javascript/arith_ops -.-> lab-28248{{"Datumsbereichsgenerator"}} javascript/comp_ops -.-> lab-28248{{"Datumsbereichsgenerator"}} javascript/loops -.-> lab-28248{{"Datumsbereichsgenerator"}} javascript/spread_rest -.-> lab-28248{{"Datumsbereichsgenerator"}} end

Datumsbereichsgenerator

Um alle Datumsangaben in einem bestimmten Bereich mit einem angegebenen Schritt zu generieren, verwenden Sie folgenden Code in der Konsole/SSH und geben Sie node ein:

const dateRangeGenerator = function* (start, end, step = 1) {
  let d = start;
  while (d < end) {
    yield new Date(d);
    d.setDate(d.getDate() + step);
  }
};

Dies erstellt einen Generator, der mithilfe einer while-Schleife von start bis end iteriert, den Date-Konstruktor verwendet, um jede Datumsangabe im Bereich zurückzugeben und um step Tage zu erhöhen, indem Date.prototype.getDate() und Date.prototype.setDate() verwendet werden.

Um einen Standardwert von 1 für step zu verwenden, lassen Sie das dritte Argument weg.

Hier ist ein Beispiel dafür, wie der dateRangeGenerator verwendet werden kann:

[...dateRangeGenerator(new Date("2021-06-01"), new Date("2021-06-04"))];
// [ 2021-06-01, 2021-06-02, 2021-06-03 ]

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Datumsbereichsgenerator" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.