Tauschen Sie Array-Elemente in JavaScript aus

Anika Tabassum Era 12 Oktober 2023
  1. Verwenden Sie temporäre Variable, um Array-Elemente in JavaScript auszutauschen
  2. Verwenden Sie die ES6-Destruktorzuweisung, um Array-Elemente in JavaScript auszutauschen
  3. Verwenden Sie bitweises XOR und Array-Iteration, um Array-Elemente in JavaScript auszutauschen
Tauschen Sie Array-Elemente in JavaScript aus

Die traditionelle Art, zwei Elemente auszutauschen, ist die Verwendung einer temp-Variablen. Im Fall von JavaScript können wir die Array-Objekte problemlos einem Variablensatz als Array-Objekt standardmäßig neu zuweisen und den Prozess weiterführen, um Elemente von zwei Arrays zum Austauschen zu übertragen.

Auch hier hat die ES6-Konvention ein effizienteres Austauschen für normale Variablen und Objekte gebracht. Eine andere Möglichkeit besteht darin, eine andere herkömmliche Methode zu verwenden, bei der die Array-Elemente in einer Schleife durchlaufen und ausgetauscht werden, wobei die Indizes gelesen werden.

Dieser Weg ist zu zeitaufwändig und erfordert einige zusätzliche Codezeilen.

Hier sehen wir alle bevorzugten Beispiele, die die Swap-Aufgabe flexibler machen. Lasst uns in die Codebases springen!

Verwenden Sie temporäre Variable, um Array-Elemente in JavaScript auszutauschen

Im folgenden Beispiel nehmen wir zwei Arrays mit entsprechenden Elementen. Unser Ziel ist hier, eine neue Variable zuzuweisen und eines der Arrays dorthin zu übertragen.

Weisen Sie dann das andere Array dem Array zu, das gerade seinen Inhalt in die Variable verschoben hat. Und zuletzt verschieben Sie den Variableninhalt in das letzte von uns gewählte Array.

Dies ist die Grundoperation für das temporäre Schalten von Array-Elementen.

Code-Auszug:

var x = [1, 2, 3];
var y = [4, 5, 6];
var a;
a = x;
x = y
y = a;
console.log(x)
console.log(y)

Ausgang:

Use Temporary Variable to Swap Array Elements

Wie Sie sehen können, enthält das x [1,2,3] und y hält [4,5,6]. Wenn der Austausch initiiert wird, nimmt die Variable a die Elemente von x und x erhält die Elemente von y.

Im letzten Schritt hängt y den Inhalt von a an. Das Ergebnis leitet ein getauschtes Ergebnis ab.

Verwenden Sie die ES6-Destruktorzuweisung, um Array-Elemente in JavaScript auszutauschen

Die ES6-Destruktorzuweisung tauscht zwei Arrays einfacher aus und erfordert nur eine Codezeile. Es müssen nur die Arrays in eckigen Klammern zugewiesen und die rechte Seite in umgekehrter Form gesetzt werden.

Das Muster zum Festlegen der Destruktorzuweisung ist mühelos, wenn Sie genau hinsehen.

Code-Auszug:

var x = [1, 3, 5];
var y = [2, 4, 6];
[x, y] = [y, x]
console.log(x)
console.log(y)

Ausgang:

Use ES6 Destructor Assignment to Swap Array Elements

Verwenden Sie bitweises XOR und Array-Iteration, um Array-Elemente in JavaScript auszutauschen

Abgesehen von den beiden oben erwähnten Konventionen gibt es mehrere Möglichkeiten, Array-Elemente auszutauschen. Sie können entweder mit Subtraktionsmethoden, bitweiser XOR-Operation oder der temporären Variablenregel tauschen, indem Sie eine Iteration für das Array anwenden.

Hier haben wir die XOR-Operation gezählt, um die Elemente zweier Arrays zu vertauschen.

Code-Auszug:

var x = [7, 42, 7];
var y = [4, 5, 6];
if (x.length == y.length) {
  for (var i = 0; i < x.length; i++) {
    x[i] = x[i] ^ y[i]
    y[i] = x[i] ^ y[i]
    x[i] = x[i] ^ y[i]
  }
}
console.log(x)
console.log(y)

Ausgang:

Use Bitwise XOR and Array Iteration to Swap Array Elements

Betrachten wir das Beispiel x[0] = 7 und y[0] = 4. Wenn wir 7^4 ausführen, ist das entsprechende Bitmuster für 7 111 und 4 ist 100.

Nach dem ersten XOR erhalten wir 011, gespeichert als x[0]. Für das nächste XOR haben wir x[0] = 3 (011) und y[0] = 100, also ist das Ergebnis in diesem Fall in y[0] gespeichert 111 = 7.

Und in x[0] erhalten wir 111^011 = 100 (4). Unsere ersten Elemente des Arrays x und y werden also vertauscht, und wir können diese Iteration für jedes indizierte Element wiederholen.

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook

Verwandter Artikel - JavaScript Array