Javascript 从每个子数组返回具有最大数目的数组
各位程序员 我马上开始,正如你从标题中猜到的,我想返回一个数组,由每个子数组中的所有最大数组成。我有正确的密码。然而,有一行代码我不明白。我使用了freecodecamp的提示。 我不懂的那行被注释掉了//这是我不懂的那行。特别是arr[i][0]上的[0]。[0]的目的是什么。当我取出它以查看控制台上显示的结果时,它将按原样返回数组,而不是返回包含每个子数组中所有最大数字的数组 谢谢Javascript 从每个子数组返回具有最大数目的数组,javascript,arrays,algorithm,Javascript,Arrays,Algorithm,各位程序员 我马上开始,正如你从标题中猜到的,我想返回一个数组,由每个子数组中的所有最大数组成。我有正确的密码。然而,有一行代码我不明白。我使用了freecodecamp的提示。 我不懂的那行被注释掉了//这是我不懂的那行。特别是arr[i][0]上的[0]。[0]的目的是什么。当我取出它以查看控制台上显示的结果时,它将按原样返回数组,而不是返回包含每个子数组中所有最大数字的数组 谢谢 function myFunc(arr) { var resultArray = []; fo
function myFunc(arr) {
var resultArray = [];
for (var i = 0; i < arr.length; i++) {
var largstNumInEach = arr[i][0]; //this is the line i dont understand.
for (var j = 0; j < arr[i].length; j++) {
if(arr[i][j] > largstNumInEach) {
largstNumInEach = arr[i][j]
}
}
resultArray[i] = largstNumInEach;
}
return resultArray;
}
var list = myFunc([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39],
[1000, 1001, 857, 1]]);
console.log(list);
函数myFunc(arr){
var resultArray=[];
对于(变量i=0;ilargstnuminech){
largstNumInEach=arr[i][j]
}
}
resultArray[i]=每个都是大的;
}
返回结果数组;
}
var list=myFunc([[4,5,1,3],[13,27,18,26],[32,35,37,39],
[1000, 1001, 857, 1]]);
控制台日志(列表);
它将从第0个索引中获取元素。这就是它的工作原理
(var i=0;i将在该数组上迭代
[[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]
它同样由子数组组成
因此,在某一点上,arr[i]
将是[4,5,1,3]
,[13,27,18,26]
所以当i=0时arr[i]
将是[4,5,1,3]
当i=1时arr[i]
将是[13,27,18,26]
等等
因此arr[i][0]
将是相应数组第0个索引处的元素
对于i=0,arr[0][0]
将为4,对于i=1,arr[1][0]
将为13,依此类推
已经说过,可以使用数组映射函数和Math.max
函数myFunc(arr){
返回arr.map(函数(项){
返回Math.max.apply(空,项)
})
}
var list=myFunc([
[4, 5, 1, 3],
[13, 27, 18, 26],
[32, 35, 37, 39],
[1000, 1001, 857, 1]
]);
console.log(列表);
这是一个工作函数:
constmyfunc=(arr)=>arr.map(innerArray=>Math.max(…innerArray));
var list=myFunc([
[4, 5, 1, 3],
[13, 27, 18, 26],
[32, 35, 37, 39],
[1000, 1001, 857, 1]
]);
console.log(list);
因为您需要记录resultArray
?也许只需要记录largestNumInEach
来查看它是什么?您也可以使用list.map(a=>Math.max(…a))
var largstNumInEach=arr[i][0];
它只是第一个要与其他元素进行比较的元素。但您还需要从1开始下一个循环,进行比较(var j=1;
以避免额外的操作