大家好,我是你们今天的JS reduce 讲座主持人,咱们今天就来好好扒一扒这个看似简单,实则蕴藏着无限可能的“瑞士军刀”方法。准备好了吗?系好安全带,咱们这就出发! reduce 简介:化繁为简的利器 首先,让我们简单回顾一下 reduce 的基本概念。reduce 方法对数组中的每个元素执行一个由您提供的 reducer 函数(升序执行),将其结果汇总为单个返回值。 基本语法如下: array.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue]) 参数解释: callback:在数组的每个元素上执行的函数,接收四个参数: accumulator (累计器):累计器累计回调函数的返回值。它是上一次调用回调函数时返回的累积值,或 initialValue(如果提供了)。 currentValue (当前值):数组中正在处理的元素。 index (可选):数组中正在处理的当前元素的索引。 array (可选):调用了 reduce() 的数组。 initialValue (可选):作为第 …
JS `flat()` 与 `flatMap()`:扁平化数组与映射后扁平化数组
嘿,各位靓仔靓女们,今天咱们来聊聊JavaScript里两个神奇的“扁平化大师”——flat() 和 flatMap()。 别担心,我保证用最通俗易懂的方式,把它们扒个底朝天,让你以后再也不怕那些嵌套的数组了! 一、flat(): 数组的“夷为平地”神功 想象一下,你手里拿着一个俄罗斯套娃,一层套一层,打开起来贼麻烦。 flat() 函数的作用就类似于把这个套娃给拆了,把所有的小娃娃都放到一个平面上,这样你就可以一次性看到所有的小娃娃了! 1. 语法: array.flat([depth]) array: 不用说,就是你要扁平化的数组。 depth: (可选)指定扁平化的深度。 默认值是 1。 Infinity 表示无限深度,也就是说,不管你的数组嵌套多少层,都能给你一次性扁平化到底! 2. 简单示例: const arr1 = [1, 2, [3, 4]]; console.log(arr1.flat()); // 输出: [1, 2, 3, 4] const arr2 = [1, 2, [3, 4, [5, 6]]]; console.log(arr2.flat()); // 输出 …