如何在 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]