【问题标题】:simple swap program not working javascript [duplicate]简单的交换程序不起作用javascript [重复]
【发布时间】:2016-09-11 08:41:38
【问题描述】:

我做了以下交换功能:

function swap(a,b)
{
    var c=b;
    b=a;
    a=c;
}

它应该交换两个数字。 我有以下代码:

var x=5;
var y=10;
swap(x,y);

问题是,当我在交换后输出这些变量的值时,x 仍然得到 5,y 得到 10。 有什么想法吗?

【问题讨论】:

  • xy 被传递到 swap,而不是变量本身(或对它们的引用)。

标签: javascript algorithm swap


【解决方案1】:

由于参数是按值传递的,因此您无法编写替换以下内容的函数:

var a, b;
var temp = a;
a = b;
b = temp;

您也可以使用单线:

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

【讨论】:

    猜你喜欢
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    相关资源
    最近更新 更多