各位精英师傅们 来帮我一下

img


用for循环,if判断和递归求最大值 本人刚学习有特别多不是很明白 希望各位精英师傅们 指点一下

Math.max(...[[12,[234, 2121]],[456,567,[678, 679, 23232]]].flat(2)); // 23232
function findMax(list) {
  let max = 0
  
  function walk(arr) {
    for(let i = 0; i < arr.length; i++) {
      if (Array.isArray(arr[i])) {
        walk(arr[i])
      } else {
        max = arr[i] > max ? arr[i] : max 
      }
    }
  }
  
  walk(list)
  
  return max
}

    let arr= [[12,[234,3245000]],[456,567,[678,679,45623]],234,345,456];
    
    var max=0;
    function deal(arr){
        arr.forEach(item=>{
            if(Array.isArray(item)){
                deal(item)
            }else{
                if(item>max){
                    max=item;
                }
            }
        })
    }
    deal(arr)
    console.log(max )

思路很简单,如果是数组就继续迭代,不是就和最大值去对比,最终得出一个最大值