简单的JavaScript程序

时间:2016-01-07 19:03:00

标签: javascript arrays

我刚刚开始学习javascript,我正在创建这个简单的程序,它从数组中获取最大的数字,并将它们放在一个新的数组中,最后将返回。

该函数名为largestOf(),例如

largestOf([[13, 27, 18, 26], [4, 5, 1, 3], [32, 35, 37, 39], [1000, 1001, 857, 1]]) should return [27,5,39,1001].

到目前为止我所拥有的是,我不知道如何修复它,或者它是否与我使用括号的方式有关。

function largestOf(arr) {
    var nArr = [];
    for (var i = 0; i < arr.length; i++) {
        n = arr[i].length;
        max = 0;
        for(var j = 0; j < n; j ++) {
            if (arr[i][j] > max) {
                max = arr[i][j];
                nArr.push(max);
            }
         }
    }

    return nArr;
}

我在这里尝试做的非常简单。我正在遍历数组中的每个块,选择最大值,并将最大值放在其自己的数组(nArr)中,并使用其他最大值。

我想知道如何修复我所拥有的东西,同时仍按照我的方式行事。

谢谢

1 个答案:

答案 0 :(得分:3)

function largestOf(arr) {
    var nArr = [];
    for (var i = 0; i < arr.length; i++) {
        var n = arr[i].length;
        var max = 0;
        for (var j = 0; j < n; j++) {
            if (arr[i][j] > max) {
                max = arr[i][j];
            }
        }
        nArr.push(max); // push your max outside of the inner loop
    }
    return nArr;
}