思路:使用递归求解嵌套数组。首先在函数外部定义一个result数组收集结果,然后在函数内部遍历数组元素,使用Array.isArray方法判断该元素是否为数组,如果是则递归该元素并使用concat方法收集到result中,反之不是则使用push方法将元素直接加入result数组中,最后返回result即可。

<script>
  let result=[]
  const _flatten = arr => {
  	for(let i=0;i<arr.length;i++)
  	{
     	if(Array.isArray(arr[i]))
       		result.concat(_flatten(arr[i]))
     	else
       		result.push(arr[i])
  	}
  	return result
  }
</script>

总结:arr1.concat(arr2)方法将多个数组进行连接并返回新数组;Array.isArray(arr)判断arr是否为数组元素。