平铺数组

今天遇到个平铺数组的问题,当时一脸懵逼,为一想到的是递归,然后别人说你这是不是还有更简单好用的方法,想了一下,回来找出了这两种解决办法。话不多说,上代码。

  1. 第一种
let arr = [ 1, 2, [8], [5, [4, 6]]];
arr.flat()		// 1,2,8,5,4,6
  1. 第二种
let arr = [ 1, 2, [8], [5, [4, 6]]];
const deepFlatten = arr => [].concat(...arr.map(item => (Array.isArray(item ) ? deepFlatten(item ) : item )));
let new Arr = deepFlatten(arr)
console.log(arr)		// (4) [1, 2, Array(1), Array(2)]
console.log(newArr)	// (6) [1, 2, 8, 5, 4, 6]

这就完事了?
对,咱就只会这两种了,后续再摸索到再加吧…

你可能感兴趣的:(原生)