# 手写数组扁平化

思路:

  • 声明一个空数组
  • 遍历数组 判断元素是否是数组
  • 如果是数组, 则对元素深度遍历,使用 concat(); 如果不是数组 直接concat
  • 返回结果
/**
 * 数组深度扁平化,使用 concat
 * @param arr arr
 */
export function flattenDeep2(arr: any[]): any[] {
    let res: any[] = [];

    arr.forEach((item) => {
        if (Array.isArray(item)) {
            const flatItem = flattenDeep2(item); // 递归
            res = res.concat(flatItem);
        } else {
            res = res.concat(item);
        }
    });

    return res;
}