[英]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.