2010-07-01 19 views

उत्तर

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

वैकल्पिक (और अधिक प्रयुक्त वाक्यविन्यास): 'फ़ंक्शन diff (ए, बी) {वापसी Math.abs (ए-बी);} ' सर्वश्रेष्ठ और अनुकरण समाधान। – Alxandr

+1

.. और फिर 'foo = difference', पूरा होने के लिए :) – mykhal

+0

फ़ंक्शन को var में क्यों डालना है? –

26

वापस आ जाएगी ternery

का उपयोग करते हुए दो संख्याओं के बीच अंतर करने के लिए एक सरल JavaScript फ़ंक्शन चाहते के बीच अंतर पाने के लिए
function foo(num1, num2){ 
    return (num1 > num2)? num1-num2 : num2-num1 
} 

या

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

यह सबसे अच्छा समाधान है पूर्ण समारोह का उपयोग कर गलत परिणाम प्रदान करेगा अगर आप एक नकारात्मक और सकारात्मक संख्या के बीच अंतर को खोजने के लिए करना चाहता था किसी भी समाधान है। –

+0

वह क्यों? क्या आप एक उदाहरण दे सकते हैं जहां आपको लगता है कि Math.abs (ए - बी) गलत परिणाम प्रदान करता है? – Frank

+3

@ टॉम गुलेन: 'Math.abs (3 - (-5))' 8 वापस आ जाएगा;) –

7

इसका मतलब है कि आप पूर्ण मूल्य वापस करना चाहते हैं।

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

एक नया समारोह को परिभाषित करने के लिए अजीब लगता है सिर्फ एक अल्पविराम के बजाय एक ऋण चिह्न डाल करने के लिए जब आप इसे कॉल नहीं करने के लिए:

Math.abs(a - b); 

बनाम

difference(a, b); 

(साथ अंतर जिसे आप कॉल करने के लिए परिभाषित एक अन्य फ़ंक्शन को कॉल करते हैं जो पहले कोड उदाहरण के आउटपुट को लौटाता है)। मैं बस गणित ऑब्जेक्ट पर अंतर्निहित abs विधि का उपयोग करता हूं।

0

TypeScript में, अगर किसी को दिलचस्पी:

public getDiff(value: number, oldValue: number) { 
    return value > oldValue ? value - oldValue : oldValue - value; 
} 
संबंधित मुद्दे