js基础编程-题目21

整理下初学时做过的js基础编程题目和大家分享以下,如果大家觉得有用,别忘了点一下赞哦

数组扁平化

使用递归的形式实现数组的扁平化
let a = [1,[2,[3,4,5]]];

方法一:创建新的堆内存

function flat(arr){
    
    
  let res = []
  const flatFn = (arr)=>  arr.forEach((val)=>{
    
    
      Array.isArray(val) ? flatFn(val):res.push(val)
    })
  flatFn(arr)
  return res
}

方法二:

function flat(arr){
    
    
  return [].concat(...arr.map(val=>Array.isArray(val)?flat(val):val))
}

这里扩展下用

  • eval 方法 实现数组的扁平化
console.log(eval(`[${
      
      [1,[2,[3,4,5]],7,8,9] + ''}]`))//[ 1, 2, 3, 4, 5, 7, 8, 9 ]

猜你喜欢

转载自blog.csdn.net/hr_beginner/article/details/121327228