【发布时间】:2021-01-17 05:03:54
【问题描述】:
我有 4 个数组:
注意:数组长度的长度在任何会话中都是不同的
var Class_A = [8, 11, 3, 9, 11, 16, 16];
var Class_B = [2, 6, 12, 13, 20, 22, 33, 40, 50, 66, 77]; // Greatest length with 11 items,
var Class_C = [10, 14, 19];
var Class_D = [8, 2];
我需要选择项目数最多的数组,(Class_B)
我的期望是:
var major = number major of array.length (in this case Class_B);
我的代码:
var major = max(Class_A.length > Class_B.length > Class_C.length > Class_D.length);
编辑 一个非正统的解决方案,来自新手,但它有效。
var Class_A = [8, 11, 3, 9, 11, 16, 54, 14, 5];
var Class_B = [2, 6, 12, 13, 20, 22, 33, 40, 50, 66, 77, 16, 7]; // Greatest length with 11 items,
var Class_C = [10, 14, 19];
var Class_D = [8, 2];
var Classes = [];
Classes.push(Class_A.length) ;
Classes.push(Class_B.length) ;
Classes.push(Class_C.length) ;
Classes.push(Class_D.length) ;
console.log("Lenght of 4 arrays>"+Classes);
Classes.sort(function(a, b) { // order by major number
return a - b;
});
Classes.reverse(); // reverse array
console.log("Total>"+Classes); // print sort by major number
console.log("Major>"+Classes[0]); // Works => the magic number that I need
【问题讨论】:
-
请注意
>会产生一个布尔值。因此,您在第一个>之后比较布尔值。 ...Math.max()期望其参数用逗号分隔:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… -
不清楚您在寻找什么。您想要最长数组的长度、该数组的标识符还是数组本身?
-
var major = Class_B;这行让我相信大卫想要最长的数组。
标签: javascript arrays max items