如何在JavaScript中交换两个变量

229

我有这两个变量:

var a = 1,
    b = 2;

我的问题是如何交换它们?仅限这些变量,而不是任何对象。


8
在计算机科学中,交换(Swap)是指将两个变量的值互换。使用一个临时变量可以轻松地实现这一操作。具体来说,我们可以将第一个变量的值存储在一个临时变量中,然后将第二个变量的值赋给第一个变量,最后将临时变量的值赋给第二个变量。这种方法适用于几乎所有编程语言。 - Kijewski
22个回答

1
因为我听说这种方法运行速度较慢:
b = [a, a = b][0];

如果您计划将变量存储在对象(或数组)中,此函数应该有效:
function swapVars(obj, var1, var2){
    let temp = obj[var1];
    obj[var1] = obj[var2];
    obj[var2] = temp;
}

使用方法:

let test = {a: 'test 1', b: 'test 2'};

console.log(test); //output: {a: 'test 1', b: 'test 2'}

swapVars(test, 'a', 'b');

console.log(test); //output: {a: 'test 2', b: 'test 1'}

0
let a = 2, b = 4;
[b, a] = [a, b];

一个更冗长的方法是:
let a = 2, b = 4;
a = [a, b];
b = a[0];
a = a[1];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接