在javascript中迭代数组数组

在javascript中迭代数组数组,javascript,arrays,Javascript,Arrays,我是javascript新手,不知道如何在Java中迭代数组数组 javascript 我有一个问题,我必须从数组输入数组中找到最大的数组: 返回一个数组,该数组由提供的每个数组中的最大数组成 子数组。为简单起见,提供的数组将正好包含4个 子阵列。请记住,您可以使用简单的 for循环,并使用数组语法arr[i]访问每个成员 第一个问题由我成功解决,我在最后编写了代码,但我无法解决第二个输入 问题1[已解决] 输入:largestoff四个([[4,5,1,3],[13,27,18,26],[3

我是javascript新手,不知道如何在Java中迭代数组数组 javascript

我有一个问题,我必须从数组输入数组中找到最大的数组:

返回一个数组,该数组由提供的每个数组中的最大数组成 子数组。为简单起见,提供的数组将正好包含4个 子阵列。请记住,您可以使用简单的 for循环,并使用数组语法arr[i]访问每个成员

第一个问题由我成功解决,我在最后编写了代码,但我无法解决第二个输入

问题1[已解决]

  • 输入:
    largestoff四个([[4,5,1,3],[13,27,18,26],[32,35,37,39],[10001001857,1])

  • 输出:
    [10001001857,1]

问题2[未解决]

  • 输入:
    largestoff四个([13,27,18,26],[4,5,1,3],[32,35,37,39],[10001001857,1]],[27,5,391001])

  • 输出:
    [27,5,391001]

如果仍然不清楚,请观看此链接并告诉我就是它

第一个问题的代码。(修改我的代码,以便第二个问题可以解决)

函数最大四(arr){
var iamlagle=新数组();
IAMLAGE=arr[0];
var large=iAmLarge[0];
对于(var i=0;i您已经声明(在评论中,以及从提供的链接中)问题集是

返回一个由每个提供的子数组中的最大数组成的数组。为简单起见,提供的数组将正好包含4个子数组。请记住,您可以使用简单的For循环遍历数组,并使用数组语法arr[i]访问每个成员

这意味着您需要迭代每个数组,从每个数组中找到最大的数字,并返回一个包含每个子数组中最大数字的数组。因此,输入:

 [[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39],[1000,1001, 857, 1]]
应该会产生一个

[5,27,39,1001]
为了在编程中实现任何目标,您应该将一个复杂的问题分解为一个或多个简单的问题——这通常会导致编写一个函数来执行一个小的功能单元

从一个简单的一维数组开始

[4, 5, 1, 3]
并编写一个函数,从该数组中查找最大数

function getLargestFromArray(arr){
    // You can do this bit!
    // Its easy, just store zero in a variable, and iterate the array
    // if the current value is greater than the stored number
    // set the stored number to this value
    // when youve iterated all values return the currently stored highest number
}
现在,您知道您的原始输入将是一个由4个数组组成的数组(赋值是这样说的!),因此您可以使用数字4来迭代输入

var output = new Array();
for(var i=0;i<4;i++){
    var thisArr = input[i];
    var highest = getLargestFromArray(thisArr)
    output[i] = highest; // or output.push(highest);
}
var输出=新数组();
对于(var i=0;i您已经声明(在评论中,以及从提供的链接中)问题集是

返回一个由每个提供的子数组中的最大数组成的数组。为简单起见,提供的数组将正好包含4个子数组。请记住,您可以使用简单的For循环遍历数组,并使用数组语法arr[i]访问每个成员

这意味着您需要迭代每个数组,从每个数组中找到最大的数字,并返回一个包含每个子数组中最大数字的数组。因此,输入:

 [[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39],[1000,1001, 857, 1]]
应该会产生一个

[5,27,39,1001]
为了在编程中实现任何目标,您应该将一个复杂的问题分解为一个或多个简单的问题——这通常会导致编写一个函数来执行一个小的功能单元

从一个简单的一维数组开始

[4, 5, 1, 3]
并编写一个函数,从该数组中查找最大数

function getLargestFromArray(arr){
    // You can do this bit!
    // Its easy, just store zero in a variable, and iterate the array
    // if the current value is greater than the stored number
    // set the stored number to this value
    // when youve iterated all values return the currently stored highest number
}
现在,您知道您的原始输入将是一个由4个数组组成的数组(赋值是这样说的!),因此您可以使用数字4来迭代输入

var output = new Array();
for(var i=0;i<4;i++){
    var thisArr = input[i];
    var highest = getLargestFromArray(thisArr)
    output[i] = highest; // or output.push(highest);
}
var输出=新数组();

对于(var i=0;i对于第二个问题,您希望从每个子数组中收集最大数量的数据,您可以这样做(工作片段):

函数最大四(主){
var结果=[];
//遍历传递的所有数组
对于(变量i=0;idocument.write(JSON.stringify(r));
对于第二个问题,您希望从每个子数组中收集最大数量的数据,可以这样做(工作片段):

函数最大四(主){
var结果=[];
//遍历传递的所有数组
对于(变量i=0;i
变量a=[[13,27,18,26],[4,5,1,3],[32,35,37,39],[10001001857,1]; var-temp=[]; 对于(变量i=0;i
var a=[[13,27,18,26]、[4,5,1,3]、[32,35,37,39]、[10001001857,1];
var-temp=[];
对于(变量i=0;i
这将适用于任意数量的子阵列,因此我会将名称更改为
maxOfSubarray
或类似的名称。它类似于@Jamiec solution,但使用map函数将max函数应用于每个子阵列,您不需要在主阵列上循环

function largestOfFour(arrayOfArrays) {
    return arrayOfArrays.map(function (singleArray) {
        return Math.max.apply(null, singleArray);
    });
}

这将适用于任意数量的子阵列,因此我会将名称更改为
maxOfSubarray
或类似的名称。它类似于@Jamiec solution,但使用map函数将max函数应用于每个子阵列,您不需要在主阵列上循环

function largestOfFour(arrayOfArrays) {
    return arrayOfArrays.map(function (singleArray) {
        return Math.max.apply(null, singleArray);
    });
}

这里的答案确实过时了。使用数组映射功能,像这样从每个数组中获取最大值

function largestOfFour(arr) {
  return arr.map(m=>Math.max(...m));
}

largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
那个func