思路:使用递归求解嵌套数组。首先在函数外部定义一个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是否为数组元素。