Javascript函数来获取两个数字之间的差异

Mit*_*ran 53 javascript function

我想要一个简单的Javascript函数来获得两个数字之间的区别,foo(2, 3)以及和foo(3,2)将返回相同的差异1.

myk*_*hal 124

var difference = function (a, b) { return Math.abs(a - b); }
Run Code Online (Sandbox Code Playgroud)

  • 替代(和更常用的语法):`function diff(a,b){return Math.abs(ab);}`最好和简单的解决方案. (7认同)
  • 克莱门特赫雷曼:这是一个不同的故事.这个"varing"根本不是必需的,我只是想提供一个纯粹的解决方案(在实际范围内正确定义函数) (3认同)
  • .. 然后`foo = difference`,完成:) (2认同)

Sal*_*lil 39

使用ternery

function diff (num1, num2) {
  if (num1 > num2) {
    return num1 - num2
  } else {
    return num2 - num1
  }
}
Run Code Online (Sandbox Code Playgroud)

要么

function diff (a, b) => a > b ? a - b : b - a
Run Code Online (Sandbox Code Playgroud)

  • 这是最好的解决方案,如果您想要找到负数和正数之间的差异,使用绝对函数的任何解决方案都将提供不正确的结果. (10认同)
  • @Tom Gullen:`Math.abs(3 - ( - 5))`将返回8;) (4认同)

cmc*_*loh 14

似乎奇怪的是定义一个全新的函数,只是为了在调用它时不必使用减号而不是逗号:

Math.abs(a - b);
Run Code Online (Sandbox Code Playgroud)

VS

difference(a, b);
Run Code Online (Sandbox Code Playgroud)

(差异调用另一个您定义为调用的函数,返回第一个代码示例的输出).我只是在Math对象上使用内置的abs方法.


onu*_*san 7

这意味着你想要返回绝对值.

function foo(num1 , num2) {
   return Math.abs(num1-num2);
} 
Run Code Online (Sandbox Code Playgroud)