各位程序猿/媛们,晚上好! 今天咱们来聊聊JavaScript里两个有点意思的家伙:Array.prototype.flat() 和 Array.prototype.flatMap()。 它们就像数组界的“铲平大师”,专门用来对付那些嵌套得像俄罗斯套娃一样的数组。 准备好了吗? 咱们开始咯! 一、 什么是扁平化? 为什么要扁平化? 首先,得弄明白啥是“扁平化”。 简单来说,扁平化就是把一个多维数组(就像一个里面套着好几个盒子的盒子)变成一个一维数组(就像把所有盒子里的东西都倒出来,摊平了)。 那么,为什么要扁平化呢? 想象一下,你从一个接口拿到了一个数据,它的结构是这样的: const nestedArray = [ 1, [2, 3], [4, [5, 6]], 7 ]; 如果你想遍历这个数组,把所有的数字都加起来,你会怎么做? 你得先判断每个元素是不是数组,如果是,就得递归进去,再判断… 哎呀,想想就头大! 但是,如果把这个数组扁平化成这样: const flatArray = [1, 2, 3, 4, 5, 6, 7]; 遍历起来是不是就简单多了? 直接一个 for 循环或者 f …
继续阅读“JS `Array.prototype.flat()` / `flatMap()` (ES2019):扁平化嵌套数组”