function largestOfFour(arr) {
var max = 0;
var newArr = [];
for (var i = 0; i < arr.length; i++) {
for (var j = i; j < arr.length; j++) {
max = Math.max(max, arr[i][j]);
}
newArr.push(max);
}
return newArr;
}
这是我的代码。它对我有用,但我想知道有没有其他方法可以做到这一点?
答案 0 :(得分:3)
试试这个:
function largestOfFour(arr) {
return arr.map(function(item){
return Math.max.apply(null, item);
});
}
答案 1 :(得分:0)
您可以尝试这样的事情:
创意,Math.max
获取n
个参数并为您提供最大值。使用.apply
可以将参数作为数组传递。将两者结合使用可以得到数组中的最大值。
var data = [
[1, 2, 3, 4],
[10, 20, 200, 31],
[21, 3, 444, 133],
[0, 0, 90, 1]
];
var max_arr = data.map(function(a) {
return Math.max.apply(this, a);
});
console.log(max_arr)
&#13;
var data = [
[1, 2, 3, 4],
[10, 20, 200, 31],
[21, 3, 444, 133],
[0, 0, 90, 1]
];
var max_arr = data.map(function(a) {
return a.sort().slice(-1).pop()
});
console.log(max_arr)
&#13;
答案 2 :(得分:0)
您可以将the spread operator用作:
var data = [
[1, 2, 3, 4],
[10, 20, 200, 31],
[21, 3, 444, 133],
[0, 0, 90, 1]
];
const max = Math.max(...data.map(inner => Math.max(...inner)));
console.log(max);