如何用JavaScript/jQuery扁平化数组

  • Post category:jquery

讲解如下:

使用concat和展开运算符

可以通过 将展开运算符和concat()函数结合起来来扁平化数组,具体步骤如下:

const arr = [1, 2, [3, 4], [5, 6, [7, 8]]];
const flatArr = [].concat(...arr);
console.log(flatArr); // 输出 [1, 2, 3, 4, 5, 6, [7, 8]];

这种方法可以将只有一层嵌套的数组扁平化,但是无法处理多层嵌套的情况。

使用reduce函数

可以通过使用reduce函数来扁平化多层嵌套的数组,具体步骤如下:

const arr = [1, 2, [3, 4], [5, 6, [7, 8]]];
const flatArr = arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flatten(val)) : acc.concat(val), []);
console.log(flatArr); // 输出 [1, 2, 3, 4, 5, 6, 7, 8];

这种方法通过递归嵌套来处理多层嵌套的情况。

以上两种方法都可以用于扁平化数组,具体使用哪种方法取决于具体场景。如果就是轻量级的,可以使用前一种方法,否则使用后一种方法。