📜  如何在 JavaScript 中深度展平数组?

📅  最后修改于: 2022-05-13 01:56:33.219000             🧑  作者: Mango

如何在 JavaScript 中深度展平数组?

在本文中,我们将学习如何在 JavaScript 中深度展平数组。数组的展平是合并给定数组中存在的一组嵌套数组的过程。深度展平意味着阵列将完全展平。

例子:

Input: [1,2,3,4,5,[6,[7,8,9]]] 
Output: [1,2,3,4,5,6,7,8,9]

这可以使用以下方法来完成。

方法一:在 JavaScript 中使用flat()方法。此方法合并数组中存在的所有嵌套数组。此方法采用参数深度,它是一个整数,指定嵌套数组需要展平的深度。深度值可以指定为无穷大以完全展平阵列。此参数的默认值为 1。

例子:

Javascript


Javascript
const underscore = require('underscore');
const arr = [1,2,3,4,5,[6,[7,8,9]]];
  
// Using the flatten() method without
// depth parameter to deep flatten
// the array
const flattened_arr = underscore.flatten(arr);
console.log(flattened_arr);


Javascript
const lodash = require('lodash');
const arr = [1,2,3,4,5,[6,[7,8,9]]];
  
// Using the flattenDeep() method
// to deep flatten the array
const flattened_arr = lodash.flattenDeep(arr);
console.log(flattened_arr);


输出:

[1,2,3,4,5,6,7,8,9]

方法2:使用Underscore库的flatten()方法,可以将数组展平到任意深度。它将数组作为参数并返回展平的数组。如果没有将深度参数传递给该方法,则该数组将完全展平。

例子:

Javascript

const underscore = require('underscore');
const arr = [1,2,3,4,5,[6,[7,8,9]]];
  
// Using the flatten() method without
// depth parameter to deep flatten
// the array
const flattened_arr = underscore.flatten(arr);
console.log(flattened_arr);

输出:

[1,2,3,4,5,6,7,8,9]

方法 3:使用 Lodash 库的flattenDeep()方法。这 方法用于递归地展平数组。它将数组作为参数并返回深度扁平数组。

例子:

Javascript

const lodash = require('lodash');
const arr = [1,2,3,4,5,[6,[7,8,9]]];
  
// Using the flattenDeep() method
// to deep flatten the array
const flattened_arr = lodash.flattenDeep(arr);
console.log(flattened_arr);

输出:

[1,2,3,4,5,6,7,8,9]