用递归实现拍平数组/计算斐波那契数列

49 阅读1分钟

拍平数组

什么是拍平数组 [[1, 2], 3, [5, 6]] ==> [1, 2, 3, 5, 6] 这种形式也称为数组扁平化

//初始化赋值
let arr = [[1, 2], [3, 4]]
function flatList(arr){
   //arr就是需要被拍平的数组
  //设置一个新的数组 存储拍平以后的数据
  let list = []
  //遍历符合条件的数据
  arr.forEach(item => {
  //如果是数组的话, 就将剩余参数加入到list里面
    if(item instanceof Array) {
     list.push(...flatList(item))
    }else {
    //直接将元素加入到数组中
     list.push(item)
    }
  })
  //将list返回出来数据
  return list
}
//调用函数
flatList(arr) // 结果: [1, 2, 3, 4]

计算斐波那契数列

斐波那契数列是一组第一位和第二位和为1,从第三位开始,后一位是前两位和的一组递增数列,像这样的:1、1、2、3、5、8、13、21、34、55…

function fib(num) {
 if(num === 0) return 0
 if(num === 1) return 1
 return fib(num - 2) + fib(num - 1)
  }
  fib(6)  // 输出结果 8