gpt4 book ai didi

javascript - 返回数组之间最大的数组

转载 作者:太空宇宙 更新时间:2023-11-03 23:12:32 25 4
gpt4 key购买 nike

我是 Javascript 的初学者,我应该编写一段代码来解决这个问题:返回一个由每个提供的子数组中最大数字组成的数组。为简单起见,提供的数组将包含 4 个子数组。并写下这段代码,你能告诉我他有什么问题吗:

function largestOfFour(arr) {
var pos = 0;
var max = 0;
var add = 0;
var sum = [];
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr[i].length; j++) {
if (j === 4) {
sum[i] = add;
} else {
add = add + arr[i];
}
}
for (var i = 0; i < arr.length; i++) {
if (sum[i] > max) {
max = sum[i]
pos = i;
}
}
return arr[pos];
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

最佳答案

如果没有限制,你可以采取

const largestOfFour = array => array.map(a => Math.max(...a));

console.log(largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]));

对于更经典的样式,您可以将函数分开,一个用于处理外部数组,另一个用于获取最大值。

function max(array) {
var max = array[0];
for (let i = 1; i < array.length; i++) {
if (max < array[i]) max = array[i];
}
return max;
}

function largestOfFour(array) {
var result = [];
for (let a of array) result.push(max(a));
return result;
}

console.log(largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]));

关于javascript - 返回数组之间最大的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59684490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com