2010-07-01 14 views

Respuesta

86
var difference = function (a, b) { return Math.abs(a - b); } 
+6

Alternativa (y sintaxis más utilizada): 'function diff (a, b) {return Math.abs (a-b);}' La mejor y simple solución. – Alxandr

+1

.. y luego 'foo = difference', para completar :) – mykhal

+0

¿Por qué poner la función en una var? –

26

Usando ternery

function foo(num1, num2){ 
    return (num1 > num2)? num1-num2 : num2-num1 
} 

O

function foo(num1, num2){ 
    if num1 > num2 
    return num1-num2 
    else 
    return num2-num1 
} 
+8

Esta es la mejor solución es una solución usando la función absoluta proporcionará resultados incorrectos si quería ver la diferencia entre un número negativo y positivo. –

+0

¿Por qué? ¿Puedes dar un ejemplo en el que piensas que Math.abs (a - b) arroja un resultado incorrecto? – Frank

+3

@Tom Gullen: 'Math.abs (3 - (-5))' devolverá 8;) –

4
function difference(n, m){ 
    return Math.abs(n - m) 
} 
7

Significa que desea devolver un valor absoluto.

function foo(num1 , num2) { 
    return Math.abs(num1-num2); 
} 
9

parece extraño para definir una función completamente nueva sólo para no tener que poner un signo menos en lugar de una coma cuando usted lo llama:

Math.abs(a - b); 

vs

difference(a, b); 

(con diferencia llamando a otra función que definió para llamar que devuelve el resultado del primer ejemplo de código). Solo usaría el método integrado en el objeto Math.

0

En TypeScript, si cualquier persona interesada:

public getDiff(value: number, oldValue: number) { 
    return value > oldValue ? value - oldValue : oldValue - value; 
} 
Cuestiones relacionadas