找出多个数组中的最大数
右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组。
提示:你可以用for循环来迭代数组,并通过arr[i]
的方式来访问数组的每个元素。
当你完成不了挑战的时候,记得开大招'Read-Search-Ask'。
这是一些对你有帮助的资源:
function largestOfFour(arr) { // 请把你的代码写在这里 var newArr = []; for(var i =0;i<arr.length;i++){ arr[i].sort(function(a,b){ return b-a; }); newArr.push(arr[i][0]); } return newArr; }
网上大神给了另外的方法,我肯定是想不到的
function largestOfFour(arr){ return arr.map(function(group){ return group.reduce(function(prev,current){ return (current > prev) ? current : prev; },0) }) }
用map方法返回一个数组,返回利用reduce方法比较后最大的值
reduce()
方法对累加器和数组中的每个元素 (从左到右)应用一个函数,将其减少为单个值。
map()
方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
求知若渴 求虚若愚