寻找数组中的最大值算法

   在右边的大数组中包含了4个小数组,请分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新的数组。

方法一:

function getMax(tmp){
    tmp.sort((a,b)=>{
     if(a > b)  return -1;
     if(a < b)  return 1;
     if(a = b)  return 0;
  })
  return tmp[0]
}
function largestOfFour(arr) {
// You can do this!
 var tmp= arr.reduce((arr1,cur,i)=>{
     console.log(i,arr1)
     return arr1.concat([getMax(cur)])
 },[])
return tmp;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

方法二:

function largestOfFour(arr) {
  let len = arr.length,
    tmp = [];
   for(let i = 0 ;i<len; i++){
       let item = arr[i],ele=null;
       for(let j = 0; j < item.length; j++){
           if(j==0){
               ele = item[j];
           }else{
               ele = ele > item[j] ? ele : item[j];
           }
           
       }
      
       tmp.push(ele);
    console.log(tmp)
   }
   return tmp;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值