Heim > Web-Frontend > js-Tutorial > Hauptteil

Das JavaScript-Programm bildet Spulen in Matrixform

WBOY
Freigeben: 2023-08-24 10:45:02
nach vorne
1141 Leute haben es durchsucht

JavaScript 程序以矩阵形式形成线圈

Wir werden JavaScript verwenden, um die Spulen in der Matrix zu bilden. Der Prozess beinhaltet die Manipulation von Elementen der Matrix, um Spiralmuster zu erzeugen. Dies kann erreicht werden, indem die Durchlaufrichtung geändert, die besuchten Elemente verfolgt und der Index entsprechend angepasst wird. Wir werden weiterhin an der Logik arbeiten, um sicherzustellen, dass das Programm reibungslos und effizient läuft und die erforderliche Ausgabe liefert.

Methode

Eine Möglichkeit, mit JavaScript eine Spule in einer Matrix zu bilden, ist wie folgt -

  • Definieren Sie die Größe der Matrix.

  • Initialisieren Sie die Matrix mit Nullen.

  • Verwenden Sie verschachtelte Schleifen, um die Matrix zu durchlaufen und den Wert einer bestimmten Zelle basierend auf dem Muster der Spule zu ändern.

  • Verfolgen Sie die Verfahrrichtung (rechts, unten, links, oben) und ändern Sie die Richtung nach Bedarf.

  • Verwenden Sie eine weitere Schleife, um die Matrix zu drucken.

  • Wiederholen Sie den Vorgang, um bei Bedarf mehrere Spulen zu bilden.

Beispiel

Hier ist ein Beispiel für die Implementierung einer Funktion in JavaScript, um eine Spule in einer Matrix zu bilden -

function formCoils(matrix) {
   let row = 0, col = 0, direction = 'down';
   for (let i = 0; i < matrix.length * matrix[0].length; i++) {
      matrix[row][col] = i + 1;
      if (direction === 'down') {
         if (row === matrix.length - 1 || matrix[row + 1][col] !== 0) {
            direction = 'right';
            col++;
         } else {
            row++;
         }
      } else if (direction === 'right') {
         if (col === matrix[0].length - 1 || matrix[row][col + 1] !== 0) {
            direction = 'up';
            row--;
         } else {
            col++;
         }
      } else if (direction === 'up') {
         if (row === 0 || matrix[row - 1][col] !== 0) {
            direction = 'left';
            col--;
         } else {
            row--;
         }
      } else if (direction === 'left') {
         if (col === 0 || matrix[row][col - 1] !== 0) {
            direction = 'down';
            row++;
         } else {
            col--;
         }
      }
   }
   return matrix;
}
const matrix = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]];
console.log(formCoils(matrix));
Nach dem Login kopieren
Die Funktion

formCoils akzeptiert eine Matrix und gibt dieselbe Matrix mit den Zahlen zurück, die die Spulenform beginnend in der oberen linken Ecke bilden.

Diese Funktion verwendet die Variable Richtung, um die Richtung zu verfolgen, in der die Zahlen in die Matrix eingefügt werden sollen. Es beginnt damit, dass die -Richtung auf „ nach unten “ eingestellt ist und aktualisiert die -Richtung basierend auf der aktuellen Position der Matrix und ob die nächste Position besetzt ist oder nicht. Diese Nummer wird dann an der aktuellen Position platziert und die Zeilen- und Spaltenvariablen werden entsprechend aktualisiert.

Wiederholen Sie diesen Vorgang, bis jede Position in der Matrix mit Zahlen gefüllt ist.

Anwendungsbeispiel -

Das obige ist der detaillierte Inhalt vonDas JavaScript-Programm bildet Spulen in Matrixform. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!