-3

我一直在看简单的 JS 练习,如果您向我展示如何解决这个问题,或者更好地提供一个我可以查看的解决方案,我将不胜感激。非常感谢帮助。

编辑:我也很欣赏正在使用的功能的任何简单的工作示例。

4

5 回答 5

5
function whatDidYouTry() {
    return Math.max.apply(null, arguments);
}
于 2012-06-05T23:56:58.517 回答
2
function get_max(num1, num2, num3)
{
    var max = Math.max(num1, num2, num3);
    return max;
}

alert(get_max(20,3,5)); // 20

演示。 ​</p>

于 2012-06-06T00:03:20.743 回答
2

没有必要创建一个新函数,因为它已经存在:

Math.max(num1, num2, num3);

创建一个新函数只是额外的开销,没有任何附加值。

于 2012-06-06T00:11:37.893 回答
1

试一试。

function threeNumberSort(a,b,c) {
    if (a<b) {
        if (a<c) {
            if (b<c) {
                console.log(a + ", then " + b + ", then " + c);
            } else {
                console.log (a + ", then " + c + ", then " + b);
            }
        } else {
            console.log (c + ", then " + a + ", then " + b);
        }
    } else {
        if (b<c) {
            if (a<c) {
               console.log (b + ", then " + a + ", then " + c); 
            } else {
                console.log (b + ", then " + c + ", then " + a);
            }
        } else {
            console.log (c + ", then " + b + ", then " + a);
        }
    }
}

threeNumberSort(1456,215,12488855);

这将在您的控制台上打印:

215, then 1456, then 12488855

我已经使用了我在这个页面上找到的算法。那里可能存在更有效的方法。

于 2012-06-06T00:17:06.183 回答
0

这是我使用函数和 else if 语句提出的手动代码:

function maxOfThree(a, b, c) {
    if ((a >= b) && (a >= c)) { 
        return a;
    } else if ((b >= a) && (b >= c)) {
        return b;
    } else {
        return c;
    }
}

console.log(maxOfThree(343,35124,42));
于 2014-12-11T03:08:16.563 回答