0
点赞
收藏
分享

微信扫一扫

如何在 JavaScript 中展平数组

如何在 JavaScript 中展平数组_edn

在本文中,我们将探索如何使用不同的方法在 JavaScript 中展平数组。以下是常见的方法:

  • 使用reduce()方法
  • 使用flat()方法
  • 使用flatmap()方法
  • 使用concat()方法和扩展运算符

让我们开始吧。

使用reduce()方法

reduce()方法是一个 JavaScript 数组方法,它遍历数组的元素并将其缩减为单个值。它有两个参数:回调函数(在数组的每个元素上执行)和一个可选的初始值。回调函数接收累加器和当前元素,并返回更新后的累加器。

下面是演示如何使用该方法展平数组的代码示例reduce()

const nestedArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

const newFlattenedArray = nestedArray.reduce((accumulator, currentArray) => {

return accumulator.concat(currentArray);

}, []);

console.log(newFlattenedArray); // Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]

代码解释

我们声明一个常量 namednestedArray并将其分配给一个数组数组。每个内部数组都包含三个元素。

我们创建一个常量变量 callednewFlattenedArray并将其分配给将reduce()方法应用于nestedArray.

reduce()方法被调用nestedArray并遍历数组的每个元素。该reduce()方法有两个参数;回调函数和累加器的初始值。累加器的初始值设置为空字符串,该方法将使用它reduce()作为累加的起点。

传入reduce()方法的回调函数也有两个参数;accumulatorcurrentArray。累加器是每次迭代后返回并累加的值,currentArray是reduce方法每次迭代中正在处理的数组的当前元素。

在回调函数中,该concat()方法用在 上accumulator,并将 用作currentArray参数。该concat()方法用于将不同数组的元素组合成一个新数组。

在 ) 方法的每次迭代中reduce(currentArray与现有累加器数组组合,生成一个新数组(或单个展平数组),其中包含nestedArray.

然后,我们将输出记录flattenedArray到控制台。

使用flat()方法

flat()方法是一个 JavaScript 数组方法,它通过连接原始数组中的所有子数组来创建一个新数组。该flat()方法有一个可选参数,指定展平的深度,如果没有指定深度,则默认为 1。

下面是演示如何使用该方法展平数组的代码示例flat()

const nestedArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

const newFlattenedArray = nestedArray.flat();

console.log(newFlattenedArray); // Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]

代码解释

我们声明一个常量 namednestedArray并为其分配一个具有三个内部数组的嵌套数组的值。

我们创建一个名为 called 的常量变量,并将其分配给在 上newFlattenedArray应用该方法的结果。flat()nestedArray

flat()调用该方法nestedArray并将内部数组中的所有元素连接到一个数组中。

然后我们将输出记录newFlattenedArray到控制台。

使用flatMap()方法

flatMap()方法是一个 JavaScript 数组方法,它通过对数组的每个元素应用回调函数来创建一个新数组。

下面是演示如何使用该方法展平数组的代码示例flatMap()

const nestedArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

const newFlattenedArray = nestedArray.flatMap(innerArray => innerArray);

console.log(newFlattenedArray);  // Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]

代码解释

我们声明一个常量 namednestedArray并为其分配一个具有三个内部数组的嵌套数组的值。

我们创建一个名为 called 的常量变量,并将其分配给在 上newFlattenedArray应用该方法的结果。flatMap()nestedArray

flatMap()方法被调用nestedArray并迭代 的每个元素nestedArray。它还采用回调函数(innerArray => innerArray)作为参数,该函数采用的每个元素nestedArray并返回单个元素 innerArray。然后将嵌套数组展平为单个展平数组。

然后我们将结果记录newFlattenedArray到控制台。

使用concat()方法和扩展运算符

concat()方法是一个 JavaScript 数组方法,用于连接两个或多个数组并返回一个新数组。

下面是演示如何使用该方法展平数组的代码示例concat()

const nestedArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

const newFlattenedArray = [].concat(...nestedArray);

console.log(newFlattenedArray); // Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]

代码解释

我们声明一个常量 namednestedArray并将其分配给一个数组数组,每个内部数组包含三个元素。

我们创建一个常量变量 called并将其分配给使用方法和扩展运算符newFlattenedArray连接元素的结果。nestedArrayconcat()(...)

concat()方法在空数组 ([]) 上调用,并将作为参数传递的元素(从 nestedArray 展开)连接到空数组。spread 方法(...nestedArray)用于将每个内部数组的元素作为该concat()方法的参数展开。

这会生成一个新数组,其中包含连接在一起的嵌套数组中的所有元素。

然后我们将输出记录newFlattenedArray到控制台。

如何在 JavaScript 中展平数组_edn_02

举报

相关推荐

0 条评论