在JavaScript中查找2d数组中最大的子数组

在JavaScript中查找2d数组中最大的子数组,javascript,arrays,Javascript,Arrays,给定一个数组,我想找到长度最大的子数组,即 var table = [ ["Protein",["Grilled Chicken","Lamb"]], ["Fats",["rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"]], ["Vegatables",["Carrots","Eggs","Milks","Peppers"]] ]; 我希望它返回[“

给定一个数组,我想找到长度最大的子数组,即

var table = [
               ["Protein",["Grilled Chicken","Lamb"]],
               ["Fats",["rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"]],
               ["Vegatables",["Carrots","Eggs","Milks","Peppers"]]
              ];
我希望它返回
[“胡萝卜”、“鸡蛋”、“牛奶”、“辣椒”]

这是我的密码

function findBiggestSubArray(array){
    var biggestArrayIndex = 0;

    for(var i=0;i<array.length;i++){
      if(i === (array.length-1)){
        //We have reached the end of the array then return the array
        console.log("Reached the End");
        return array[biggestArrayIndex];
      } else {
        if(!array[biggestArrayIndex][1].length >= array[i][1].length){
          biggestArrayIndex = i;
        }//End of Inner else block
      }//End of Outer else block
    }//End of forloop
  }
函数findBiggestSubArray(数组){
var BiggestraryIndex=0;
对于(变量i=0;i=array[i][1]。长度){
biggestArrayIndex=i;
}//内块端部
}//外部块的末端
}//前循环结束
}
我会这样做(请参见代码中的注释以了解解释):

var表=[
[“蛋白质”、[“烤鸡”、“羊肉”],
[“脂肪”、[“RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR,
[“蔬菜”、“胡萝卜”、“鸡蛋”、“牛奶”、“辣椒”]]
];
函数findBiggestSubArray(数组){
//初始化空数组。
var bigSubArray=[“”,[];
//循环给定的数组。
对于(var i=0;ibigSubArray[1].length){
//如果较大,则用当前阵列替换它。
bigSubArray=array[i];
}
}
//返回最大的子数组。
返回bigSubArray[1];
}
log(findBiggestSubArray(table))常规解决方案,要查找阵列结构中最大的阵列,请执行以下操作:
我会用递归来实现,这样在任何深度都能找到最大的数组

/**
*数组->要检查的数组,
*biggestArray->迄今为止发现的最大Gestarray
*/
函数findBiggestArray(数组,biggestArray){
biggestArray=biggestArray | |[];
if(array.length>biggestrary.length)
biggestArray=数组;
对于(var i=0;iconsole.log(findBiggestArray([1,[1,2,3]])
您可以展开、按长度排序,然后选择第一个。我想找到最大的子数组,而不是单词长度!你必须和我一起做recursion@webdeb为什么递归会出现在这里?@PraveenKumar请检查我的答案,看看为什么我会选择递归方法,在我看来它更干净,但很严重。。我没有想到这种方法,前提是原始数组是静态的,并且我想为新手程序员提供一个更简单的解决方案。你同意吗<代码>:)
@PraveenKumar创建函数时,我希望重用它。要解决这样一个简单的任务,一行程序更适用,请参见编辑