[英]javascript reduce find max in array of arrays
我想在数组的数组内分别找到每个数组的第一和第二个元素之间的最大数目:
function largestOfElements(mainArray) { return mainArray.map(function(subArray) { return subArray.reduce(function(previousLargestNumber, currentLargestNumber) { return (currentLargestNumber > previousLargestNumber) ? currentLargestNumber : previousLargestNumber; }, 0); }); } console.log(largestOfElements([ [], [13, 47], [38, 35], [24, 34] ]));
.as-console-wrapper { max-height: 100% !important; top: 0; }
当前方式将返回每个数组中数量最大的数组。 如何返回最大的第一个元素和最大的第二个元素? 预期结果将是:
[38, 47]
您可以使用函数reduce
。
var array = [ [], [13, 47], [38, 35], [24, 34] ]; var result = Object.values(array.reduce((a, c) => { if (c.length) { var [first, second] = c; if (first > af) af = first; if (second > as) as = second; } return a; }, {f: Number.MIN_VALUE, s: Number.MIN_VALUE})); console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.