JavaScript中数组的最小值和最大值

乔乔基诺·加尔久洛

我需要对数字数组进行排序,以便它返回其最小值和最大值。到目前为止,我编写的代码似乎根本没有做任何事情。

function sort(array) {
    arrayNew = [];
    maximum = array[0];
    minimum = array[0];

    for (i = 0; i < array.length; i++) {
        if (maximum < array[i]) {
            maximum = array[i];
        }
    }
    arrayNew.push(maximum);

    for (i = 0; i < array.length; i++) {
        if (minimum > array[i]) {
            minimum = array[i];
        }
    }
    arrayNew.unshift(minumum);
    return arrayNew;
}


var arr1 = [3, 8, 7, 6, 5, -4, 3, 2, 1];
alert(sort(arr1));
四人
  1. minumum拼写错误。应该是minimum

  2. 不要在未使用var关键字声明变量的情况下使用变量否则,它们将成为全局属性。

  3. 另外,您也可以在和相同的循环中进行最低限度的检查maximum因此,您的代码可以像这样缩短

    function sort(array) {
        var maximum = array[0],
            minimum = array[0],
            i;
    
        for (i = 0; i < array.length; i++) {
            if (maximum < array[i]) {
                maximum = array[i];
            }
    
            if (minimum > array[i]) {
                minimum = array[i];
            }
        }
        return [minimum, maximum];
    }
    
  4. 现在我们知道了,我们可以这样做,让我们尝试使用三元运算符来缩短它的长度。

    function sort(array) {
        var maximum = array[0],
            minimum = array[0],
            i;
    
        for (i = 0; i < array.length; i++) {
            maximum = maximum < array[i] ? array[i] : maximum;
            minimum = minimum > array[i] ? array[i] : minimum;
        }
        return [minimum, maximum];
    }
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章