gpt4 book ai didi

JavaScript:返回最大数字

转载 作者:行者123 更新时间:2023-11-28 19:01:23 24 4
gpt4 key购买 nike

有人可以告诉我这段代码有什么问题吗?我试图从四个单独的数组中返回最大的数字。

function largestOfFour(arr) {
var longList = [];
for (var i in arr){
var longest = 0;
for (var x=0; x<i.length; x++){
if (i[x] > longest){
longest=i[x];
}
longList.push(longest);
}
}
return longList;
}

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

编辑:Lye Fish 提供了以下答案。这是新代码:

function largestOfFour(arr) {
return arr.map(Function.apply.bind(Math.max, Math));
}

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

最佳答案

for(var i in arr)给出索引,所以i[x]最终是 0[0]而不是arr[0][0] .

使用for (var index=0; index<arr.length; index++) { i = array[index]; ... } ,或者(除非你支持古人)Array.each ,用于迭代数组项(或者更好的是 Array.reduce ):

var arrayMax = function(arr) {
return arr.reduce(function(a, e) { return Math.max(a, e); });
}
arrayMax(arr.map(arrayMax));
// ==> 1001

或者,更好的是:

var arrayMax = function(arr) {
return Math.max.apply(Math, arr);
}
arrayMax(arr.map(arrayMax));
// ==> 1001

编辑:可能是我读问题太快了;如果你想要每个子列表的最大值,Lye Fish 在评论中提供了。

关于JavaScript:返回最大数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32469735/

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