js基础算法:找出多个数组中的最大数字

题目:

请返回一个数组,该数组由参数中每个子数组中的最大数字组成。 为简单起见,给出的数组总会包含 4 个子数组。

别忘了,你可以通过 for 循环遍历一个数组,并用 arr[i] 的写法来访问数组中的元素。

数组:[[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]];

思路一:

1.根据题目要求,需要用for循环遍历数组中的子数组。需要两层循环嵌套。第一层for循环,遍历外部数组中的子数组,第二层for循环,遍历子数组中的元素。

2.需要创建两个变量。第一个变量是一个空数组,用来储存取出的多个数组中的最大数字。第二个变量是初始化最大数字为这个数组中的第一个元素,可以命名为largestNumber。第二个变量放在内部for循环中。

这里要注意:不能将largestNumber初始化为0,而是要初始化为子数组中的第一个元素。如果以0为起点,当子数组中有负数时,会导致最终的结果不正确。而将largestNumber初始化为子数组中的第一个元素。我们可以确保从我们可以确保从子数组的实际值开始比较,而不是从一个可能不相关的值(如 0)开始。这样可以确保我们找到的是子数组中的实际最大值,而不是一个错误的值(如 0)。牢记在判断条件下largestNumber的值是动态并实时更新的。

3.在内部for循环中加入if语句。当当前元素大于largestNumber,则更新largestnumber。

function findMaxNumber(arr) {  //定义一个名为 findMaxNumber 的函数,它接受一个名为 arr 的参数。

let newArr = []; //初始化一个空数组 results,用于存储每个子数组的最大值。

for (let i = 0; i < arr.length; i++) { //使用 for 循环遍历 arr 的每个子数组。

let largestNumber = arr[i][0]; //初始化 largestNumber 为当前子数组的第一个元素。

for (let j = 0; j <arr[i].length; j++) { //使用内部 for 循环遍历当前子数组的其余元素。

if (arr[i][j] > largestNumber) { //如果当前元素大于 largestNumber,则更新 largestNumber。

largestNumber = arr[i][j]; //更新 largestNumber 的值。

} //结束 if 语句。

} //结束内部 for 循环。

newArr[i] = largestNumber; //将 largestNumber 添加到 newArr 数组中。

} //结束外部 for 循环。

return newArr; //返回包含每个子数组最大值的 newArr 数组。

} //结束函数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值