如何使用带有一个参数的javascript函数交换两个数字

时间:2018-10-12 06:05:56

标签: javascript

我的要求是 我想在我给a(0)时输出5,而当我给a(5)时输出0。

 a(0) = 5  
 a(5) = 0  

像这样
提示:
使用此功能 函数A(num){} 像这样

请帮助我,我是JS新手

请给我不同的解决方案,这对我的职业生涯更有用。

3 个答案:

答案 0 :(得分:1)

function swap (input) {
  if( input == 0)
    return 5;
  return 0;
}

我认为不需要描述

答案 1 :(得分:0)

我想我明白你在做什么。

您想要将一个变量输入到函数中,并返回另一个尚未定义的变量。然后,您想通过将其输入相同的函数来定义该变量,并获得第一个输入作为输出。因此,您最终应该有2个输出。

现在这在技术上是不可能的,因为有未定义的变量在起作用。但是,编程是关于想象力的,我想我有一个解决方案(从技术上讲,这是一种技巧,但是可以使用):

var i = 1;
var output1;
var output2;
function swap(input) {
    function func1(input) {
        output2 = input;
        i++;
    }
    function func2(input) {
        output1 = input;
        i = 1;
        alert(String(output1) + "\n" + String(output2));
    }
    if (i === 1) {
        func1(input);
    }
    else if (i === 2) {
        func2(input);
    }
}
while(true) {
    swap(prompt("Enter your first input (this will be your second output):"));
    swap(prompt("Enter your second input (this will be your first output):"));
}

swap函数在变量i中的值1和2之间来回移动。这样便可以跟踪第一或第二输入及其确切相反的输出。 swap函数的输入或参数是用户在提示框中键入的内容。随意使其易于使用,这只是背后的肮脏代码。将它们一起输出的原因是第二个输入未定义,因此机器无法猜测您要输入的内容。因此,首先,我的小程序会收集所有数据,并在需要输出时才颠倒顺序。但是对于那些对JavaScript一无所知以及引擎盖背后发生什么情况的用户来说,这在我看来将是完美的。

这应该适用于输入的任何数据类型,我自己用objectsstringsnumbersarrays对其进行了测试。希望这会有所帮助!

答案 2 :(得分:0)

@mtizziani答案的更短的选择:

let swap = x => !x * 5 // yes this is all

console.log(swap(0));
console.log(swap(5));

  • 我们切换输入,所以x现在是1或0
  • 我们乘以5。

工作完成。