Return Largest Numbers in Arrays
2017-05-02 本文已影响13人
Marks
大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组。
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]) 应该返回一个数组
largestOfFour([[13, 27, 18, 26], [4, 5, 1, 3], [32, 35, 37, 39], [1000, 1001, 857, 1]]) 应该返回 [27,5,39,1001].
largestOfFour([[4, 9, 1, 3], [13, 35, 18, 26], [32, 35, 97, 39], [1000000, 1001, 857, 1]]) 应该返回 [9, 35, 97, 1000000].
//错误!
function largestOfFour(arr) {
// You can do this!
var newArr = [];
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr[i].length;j++){
var max = 0; // j作用域外无法访问max
if(max < arr[i][j]){
max = arr[i][j];
}
newArr[i] = arr[i][0];// 直接用max
}
}
return newArr;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
//正解
function largestOfFour(arr) {
// You can do this!
var newArr = [];
for(var i=0;i<arr.length;i++){
var max = 0;
for(var j=0;j<arr[i].length;j++){
if(max < arr[i][j]){
max = arr[i][j];
}
newArr[i] = max;
}
}
return newArr;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);