算法

104 阅读1分钟

多维数组拍平后求最大值

代码:
let list=[1,2,3,[5,6],[1,4,8]].flat()
let max=Math.max.apply(null,list)

相关解释
arr.flat() 把多维数组拍平
Math.max(10, 20,30);   
Math.max.call(null,10, 20,30); 
Math.max.apply(null,[10, 20,30]);
// Math.min 

给定一个arr和一个数值target 相加等于 target就放到[1,2]

arr=[1,2,4,7,3,6] target=10 返回[[4,6],[7,3]]
arr=[1,2,4,7] target=10 返回[]

手写多维数组拍平 (自写)

   let arr= [1,2,3,[5,6],[1,4,8]];
     let list=[]
     function change(data,arr){
        data.forEach(option=>{
            if(option instanceof Array){
                change(option,arr)
            }else{
                arr.push(option)
            }
        })
     }
    change(arr,list)
    console.log(list)