我无法在下面的交换功能中获得所需的结果,我希望打印的值为3,2
function swap(x,y){
var t = x;
x = y;
y = t;
}
console.log(swap(2,3));
任何线索都将不胜感激!
答案 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];
}