繁体   English   中英

支票号码在彼此的范围内

[英]Check numbers are in range of each other

我正在编写一个javascript应用程序,并有3个用户选择的数字,我坚持用一种方法来确定天气数字是否在正负5之内。

function(num1, num2, num3) {
    var array = [num1, num2, num3];
    array.sort();
    return Math.abs(array[0] - array[array.length - 1]) <= 5;
}

[编辑*]如果我误解了您的目的,则是另一个改进版本:

function calculate() {
    var array = new Array();
    for(var i = 0; i < arguments.length; i++) {
        // put every argument in a array
        array.push(arguments[i]);
    }
    // sorting in ascending order
    array.sort(function(a, b) { return a - b; });
    var interval = array.length - 1;
    // math part
    return Math.abs(array[0] - array[interval]) <= interval * 5;
}

ex: calculate(4, 15, 7); // you'll get false
    calculate(6, 10, 9, 16); // true

不确定最高数字与最低数字之间的差值是否必须在5之内,还是所有数字都必须在5之内。 由于@ Banana-In-Black涵盖了一个解决方案,因此我采用了另一种方式:

这样可以确保每个数字之间的位数不超过5(不仅仅是最低和最高)

var withinFive = function(num1, num2, num3) {
    var diff1 = Math.abs(num1 - num2);
    var diff2 = Math.abs(num2 - num3);

    return (diff1 <= 5 && diff2 <=5);
};

console.log(withinFive(1,2,7));

因此,在此示例中, {1,2} is <= 5并且{2,7} <= 5因此该函数返回true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM