Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数组的javascript等价于php max_Php_Javascript_Arrays_Max - Fatal编程技术网

数组的javascript等价于php max

数组的javascript等价于php max,php,javascript,arrays,max,Php,Javascript,Arrays,Max,我在php中有一个函数,用于选择包含最多元素的数组 $firstArray = array('firstArray','blah','blah','blah'); $secondArray = array('secondArray','blah','blah'); $thirdArray = array('thirdArray','blah','blah','blah','blah'); 然后我得到长度最大的变量的名称,如下所示: $highest=max($firstArray,$secon

我在php中有一个函数,用于选择包含最多元素的数组

$firstArray = array('firstArray','blah','blah','blah');
$secondArray = array('secondArray','blah','blah');
$thirdArray = array('thirdArray','blah','blah','blah','blah');
然后我得到长度最大的变量的名称,如下所示:

$highest=max($firstArray,$secondArray,$thirdArray)[0]

但是我正在开发一个应用程序,我想避免使用php,我尝试了javascript的
Math.max()
,以获得相同的结果,但除非我这样做,否则它不会以相同的方式工作

Math.max(firstArray.length、secondArray.length、thirdArray.length)


但这是无用的,因为我需要知道包含最多元素的数组的名称。是否有其他方法可以实现此目的?

此函数将数组作为输入,并返回最大的数组

function largestArray(arrays){
   var largest;
   for(var i = 0; i < arrays.length; i++){
       if(!largest || arrays[i].length > largest.length){
          largest = arrays[i];
       }
   }
   return largest;
}

此函数以数组数组作为输入,并返回最大的数组

function largestArray(arrays){
   var largest;
   for(var i = 0; i < arrays.length; i++){
       if(!largest || arrays[i].length > largest.length){
          largest = arrays[i];
       }
   }
   return largest;
}

以下url具有等效的max()。它支持的不仅仅是数字,就像在php中一样:


以下url具有等效的max()。它支持的不仅仅是数字,就像在php中一样:


如果您觉得包括第三方LIB没问题,也许可以做您想要的:

var aList = [firstArray, secondArray, thirdArray];
_.max(aList, function(each) { return each.length; });

如果您对包含第三方LIB感到满意,则可能会执行您想要的操作:

var aList = [firstArray, secondArray, thirdArray];
_.max(aList, function(each) { return each.length; });

您需要知道数组的名称吗?或者引用该数组就足够了?@nnnnnn我需要知道数组的名称JavaScript数组没有名称…@nnnnnn我知道,这就是为什么我在数组的开头添加了数组的名称,这样我就可以执行firstArray[0],它会给我数组的名称你需要知道数组的名称吗?或者对该数组的引用就足够了?@nnnnnn我需要知道数组的名称JavaScript数组没有名称…@nnnnnn我知道,这就是为什么我在数组的开头添加了数组的名称,这样我就可以执行firstArray[0],它会给我数组的名称这非常有效。我太沉迷于使用Math.max的想法了,以至于我甚至没有想到再做一个函数。谢谢你。我本来打算发布同样的东西,只是我会使用arguments对象,而不是期望数组作为参数。这非常有效。我太沉迷于使用Math.max的想法了,以至于我甚至没有想到再做一个函数。谢谢你。我打算发布同样的东西,只是我会使用arguments对象,而不是期望数组作为参数。