找出多个数组中的最大数 Return Largest Numbers in Arrays
右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组。
提示:你可以用for循环来迭代数组,并通过arr[i]的方式来访问数组的每个元素。
当你完成不了挑战的时候,记得开大招'Read-Search-Ask'。
function largestOfFour(arr) {
// 请把你的代码写在这里
return arr;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
提示可用的语句:
步骤分析:
- 对对象中每一个数组进行检索并使它们按照从大到小的顺序排序
- 读取每一个数组中的第一个添加到新定义的数组当中
function largestOfFour(arr) {
var c=[];
for (var i=0; i<arr.length; i++){ //检索对象的每一个数组
arr[i].sort(function(a,b){return b-a;}); //对数组中的数据进行从大到小排序
c.push(arr[i][0]); //把每个数组第一位追加到新数组的第一位
}
return c;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
简短写法:
function largestOfFour(arr) {
for (var i=0; i<arr.length; i++){
arr[i]=arr[i].sort(function(a,b){return a-b;})[arr[i].length-1];
}
return arr;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);