swap()函数用于变量的值

时间:2016-10-20 21:56:04

标签: javascript function variables swap

我无法在下面的交换功能中获得所需的结果,我希望打印的值为3,2

function swap(x,y){
 var t = x;
 x = y;
 y = t;
}

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

任何线索都将不胜感激!

2 个答案:

答案 0 :(得分:4)

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

以下方法以与提供的值相反的顺序返回值数组。

function swap(x, y) {
    var t = x;
    x = y;
    y = t;
    return [x, y];
}

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

但是,您可以轻松地执行类似以下代码段的操作,因为 - 根据您提供的代码 - 似乎无需实际交换参数的值。

function swap(x, y) {
    return [y, x];
}

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

答案 1 :(得分:1)

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

function swap (x, y)
{
  return [y, x];
}

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

function swap (x, y)
{
  x = x + y;
  y = x - y;
  x = x - y;
  return [x, y];
}