【Js】数组扁平化——多种方法

递归的方法

思路:
类似于二叉树实现的两个思想
1、遍历
2、分解子问题

// 第一种思想
var bianpinghua = function(nums,res=[]) {
  if(!(nums instanceof Array)){
    res.push(nums)
    return 
  }
  
  nums.forEach((item)=>{
    bianpinghua(item,res)
  })

  return res;
};

console.log(bianpinghua([[1,2],[3,4,[5,6]]]));
// 第二种思想
var bianpinghua = function(nums,res=[]) {
  if(!(nums instanceof Array)){
    res.push(nums)
    return res
  }
  
  nums.forEach((item)=>{
    res.push(...bianpinghua(item))
  })

  return res;
};

你可能感兴趣的:(js,算法,数组扁平化)