怎么用递归手写一个数组扁平化函数?
手写递归版数组扁平化,把任意深度的嵌套数组拍成一维。讲清 Array.isArray 判断和递归拼接的写法,再补上和原生 flat 对齐的 depth 参数、稀疏数组的差异,以及嵌套太深爆栈时怎么改成显式栈。
核心关键词数组扁平化 手写 flat
前端手写题 · 实用函数实现面试题第 1 页,显示第 1–3 题,共找到 3 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
手写递归版数组扁平化,把任意深度的嵌套数组拍成一维。讲清 Array.isArray 判断和递归拼接的写法,再补上和原生 flat 对齐的 depth 参数、稀疏数组的差异,以及嵌套太深爆栈时怎么改成显式栈。
手写深拷贝遇到循环引用会无限递归直到爆栈。讲清用 WeakMap 记录原对象和副本的写法,为什么必须先存表再递归,拷贝后如何保持原来的引用关系,以及 WeakMap 和 Map 在这里到底差在哪。
手写基础版深拷贝,递归复制普通对象和数组。讲清为什么要先排除 null、怎么区分数组和对象、for...in 为什么要配 hasOwnProperty,再用代码演示基础版遇到 Date、Set、Symbol 键时会出什么问题,以及和 JSON 方案、structuredClone 的对比。