【发布时间】:2023-03-13 17:51:01
【问题描述】:
我一直在研究 FCC(免费代码营)的一个问题,该问题需要扫描二维数组并从每个一维数组中找到最大元素并将结果放入一维数组中。我在 GitHub 上遇到了这个解决方案,无法理解。
function largestOfFour(arr) {
return arr.map(function(group){
return group.reduce(function(prev, current) {
return (current > prev) ? current : prev;
}, 0);
});
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
输出为 [5, 27, 39, 1001]
我的 console.log(arr) 给了我:4,5,1,3,13,27,18,26,32,35,37,39,1000,1001,857,1
- 当作为函数参数传递时,该二维数组是如何转换为一维数组的?
我的 console.log(group) 给了我:4、5、1、3(第一次)、13、27、18、26(第二次)、32、35、37、39(第三次)和 1000 , 1001, 857, 1(第四次)。
- 匿名函数如何能够将参数组作为 2D 中的单个 1D 数组。
有人可以帮忙吗?
【问题讨论】:
-
到底是什么问题?您是否根本不了解 map 和 reduce,或者它们在这里的使用方式?
标签: javascript arrays function