2017-06-25 2 views
0

Wenn ich eine Variable foo Satz auf das Objekt genannt: {example: '2', anotherExample: '1'} und eine andere Variable namens anotherFoo Satz zu 'orange' wie würde ich die Werte von foo und anotherFoo tauschen? Dies würde bedeuten, dass und anotherFoo = {example: '2', anotherExample: '1'}.tauscht die Werte von zwei Variablen in JavaScript

+2

Bitte zeigen Sie, was Sie haben versucht, das hat nicht funktioniert. – charlietfl

+2

Mögliches Duplikat von [Wie man zwei Variablen in JavaScript vertauscht] (https://stackoverflow.com/questions/16201656/how-to-swap-two-variables-in-javascript) –

Antwort

2

Sie können eine Zwischenvariable verwenden, um den Wert eins zu speichern.

var a = 1 
var b = 2 

var c = a 
a = b 
b = c 

Sie können in diesem Link here aber meiner Meinung nach ist nicht sehr gut lesbar dargestellt, ein Verfahren verwenden.

+2

Das große Plus für diese Methode ist, dass es funktioniert in anderen Sprachen, und es ist für Neulinge klar, wie es geht. –

+0

Einverstanden. In meiner Firma konzentrieren wir uns darauf, sicherzustellen, dass unser Code leicht zu "überdenken" ist, weil es beim Skalieren Ihrer Software nicht nur darum geht, Ihre Benutzerbasis zu vergrößern, sondern auch Ihr Team zu vergrößern. Je weniger kludig, desto besser. Als Entwickler gedacht, sind die coolen Abkürzungen sehr lustig zu verwenden :) –

1

Wenn Sie mit ES6 + versuchen Sie dies:

[a, b] = [b, a]; 

Ansonsten:

b = [a, a = b][0]; 
+0

Großartige Verwendung für ES6 :) –

+0

Ich bin froh, dass es dir gefallen hat%) –

0
let foo = { 
    example: '2', 
    anotherExample: '1' 
}; 

let anotherFoo = 'orange'; 

Zuerst einen Dummy-Variable verwenden, um den ursprünglichen Wert einer Variablen zu speichern:

const dummy = anotherFoo; 

Dann überschreiben Sie diese Variable mit der ursprünglicher Wert der zweiten Variablen:

anotherFoo = Object.assign({}, foo); 

schließlich die zweite Variable mit dem ursprünglichen Wert der ersten Variablen, überschreibt, die in dem Dummy-Variable gespeichert wird, geschehen:

foo = dummy; 
Verwandte Themen