📜  展平数组 - Javascript (1)

📅  最后修改于: 2023-12-03 15:25:23.826000             🧑  作者: Mango

展平数组 - Javascript

在 Javascript 中,展平数组是指将多层嵌套的数组变成一维数组。通常,我们需要将一个嵌套层次很深的数组变为一维数组以便进行处理。

实现方法
方法一:使用 flat 方法
const arr = [1, [2, [3, 4]]];
const flatArr = arr.flat(Infinity);
console.log(flatArr); // [1, 2, 3, 4]

以上代码中,flat 方法可以接受一个整数作为参数,用于指定需要展平的层级,如果传入 Infinity 则表示展开任意层级。上面的代码中,我们将 arr 数组展开了所有层级,得到一维数组 [1, 2, 3, 4]

方法二:使用 reduce 方法
const arr = [1, [2, [3, 4]]];
function flatten(arr) {
  return arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flatten(val)) : acc.concat(val), []);
}
const flatArr = flatten(arr);
console.log(flatArr); // [1, 2, 3, 4]

以上代码中,我们使用 reduce 方法遍历数组,将多层嵌套的数组递归展开,并将展开后的结果保存到累加器 acc 中,最终得到一维数组 flatArr

总结

以上介绍了在 Javascript 中如何展平多层嵌套的数组,主要使用了 flatreduce 两种方法。展平数组对于处理嵌套层次很深的数组非常有用,掌握多种方法可以帮助我们更加高效地处理数据。