gpt4 book ai didi

javascript - 将数组的每个子数组中的最大数返回到新数组中

转载 作者:行者123 更新时间:2023-12-02 23:46:17 26 4
gpt4 key购买 nike

我正在做一个 freecodecamp 算法脚本问题,并且我已经尽了我的理解。当前的挑战是获取一个包含 4 个数字子数组的数组,使用 JavaScript 搜索它,并返回一个包含每个子数组最大值的新数组。我已经看过他们的解决方案并很好地理解了它,但我一直在使用嵌套 for 循环和三元运算符来开发自己的解决方案。我将首先显示他们的解决方案,然后显示我的错误解决方案,其中显示带参数的函数未定义。

下面是代码:

他们的解决方案:

function largestOfFour(arr) {
var results = [];
for (var n = 0; n < arr.length; n++) {
var largestNumber = arr[n][0];
for (var sb = 1; sb < arr[n].length; sb++) {
if (arr[n][sb] > largestNumber) {
largestNumber = arr[n][sb];
}
}

results[n] = largestNumber;
}

return results;
}

我正在研究的解决方案(目前不起作用):

function largestOfFour(arr) {
var maxNum = 0;
var results = [];
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++) {
arr[i][j] > maxNum ? results.push(arr[i][j]) : delete arr[i][j];
}
}
}

例如,

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

应显示 [5, 27, 39, 1001] 的数组。

最佳答案

function largestOfFour(arr) {
//var maxNum = 0; updated
var results = [];
for (let i = 0; i < arr.length; i++) {
var maxNum = -Infinity; //updated
for (let j = 0; j < arr[i].length; j++) {
if(arr[i][j] > maxNum){
maxNum = arr[i][j];
}
}
results.push(maxNum);
}
return results;
}
largestOfFour([[2,4,6],[45,56,78]]); //[6, 78]

嘿嘿,你可以这样修改。您可能错过了更新 maxNum ,并且在 innerLoop 结束后,我们可以将最大值推送到结果数组中。

关于javascript - 将数组的每个子数组中的最大数返回到新数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55850327/

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