map、forEach 与 flat 的边界
循环数组只是起点。回调参数、稀疏数组、空数组和展开深度,决定了手写方法是否真的接近原生语义。
5 篇
循环数组只是起点。回调参数、稀疏数组、空数组和展开深度,决定了手写方法是否真的接近原生语义。
Promise.all 负责汇总结果,不负责限制同时运行的任务;并发控制需要接收尚未启动的任务函数,并维护运行数与等待队列。
把函数临时挂到对象上只能解释基本原理;要接近原生行为,还要处理 falsy 值、异常清理、基本类型和构造调用。
数组转树的关键是建立 id 索引;树转数组则要先决定遍历顺序,并避免为了输出而修改原树。
三个字符串处理练习的共同点,是先定义输入契约:缺失段、编码字符、负数和小数都不能靠示例之外的运气。