关于javascript:swap()函数用于变量的值

swap() function for variables's values

本问题已经有最佳答案,请猛点这里访问。

我无法实现下面这个交换函数所需的结果,我希望值打印为3,2。

1
2
3
4
5
6
7
function swap(x,y){
 var t = x;
 x = y;
 y = t;
}

console.log(swap(2,3));

任何线索都会被感激的!


您的函数正在内部交换值,但函数不返回值。

下面的方法返回一个与提供的值相反的值数组。

1
2
3
4
5
6
7
8
function swap(x, y) {
    var t = x;
    x = y;
    y = t;
    return [x, y];
}

console.log(swap(2, 3));

但是,您可以很容易地执行以下代码片段之类的操作,因为-根据您提供的代码-似乎不需要实际交换参数的值。

1
2
3
4
5
function swap(x, y) {
    return [y, x];
}

console.log(swap(2, 3));


如果您实际上不需要交换值:

1
2
3
4
function swap (x, y)
{
  return [y, x];
}

如果确实需要交换值,但不想声明另一个变量:

1
2
3
4
5
6
7
function swap (x, y)
{
  x = x + y;
  y = x - y;
  x = x - y;
  return [x, y];
}