Skip to content

TIP

JavaScript 中的数组扁平化是指将嵌套多层的数组转换为只有一层的数组。这意味着将数组中的所有元素(无论是数组还是其他类型的值)都放置在同一个层级上。

下面是一些实现数组扁平化的方法:

  1. 使用递归实现数组扁平化:
javascript
function flattenArray(arr) {
  let result = [];
  arr.forEach(item => {
    if (Array.isArray(item)) {
      result = result.concat(flattenArray(item));
    } else {
      result.push(item);
    }
  });
  return result;
}

const nestedArray = [1, 2, [3, 4, [5, 6]]];
const flattenedArray = flattenArray(nestedArray);
console.log(flattenedArray); // [1, 2, 3, 4, 5, 6]
  1. 使用数组的 flat() 方法(需要注意兼容性):
javascript
const nestedArray = [1, 2, [3, 4, [5, 6]]];
const flattenedArray = nestedArray.flat(Infinity);
console.log(flattenedArray); // [1, 2, 3, 4, 5, 6]
  1. 使用 reduce() 方法实现数组扁平化:
javascript
function flattenArray(arr) {
  return arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenArray(val)) : acc.concat(val), []);
}

const nestedArray = [1, 2, [3, 4, [5, 6]]];
const flattenedArray = flattenArray(nestedArray);
console.log(flattenedArray); // [1, 2, 3, 4, 5, 6]

这些方法都可以将嵌套多层的数组扁平化为只有一层的数组。

最后更新于:

Released under the MIT License.