«

数组扁平化处理

时间:2023-7-25 22:14     作者:小诸葛     分类: JavaScript     正在检查是否收录...


有一个多维数组

const arr = [1, [2, 3, [4, [5]]], 6];

要求转换成:

 [1,2,3,4,5,6]

可以使用一下方法解决:

方法一:

const arr = [1, [2, 3, [4, [5]]], 6];
const flattenedArr = arr.flat(Infinity);
console.log(flattenedArr);

方法二:

const flat = arr => arr.reduce((prev, curr) => Array.isArray(curr) ? [...prev, ...flat(curr)] : [...prev, curr], []);
console.log(flat(arr))

方法三:

const flat = arr => {
  const flattenedArr = [];
  for (let i = 0; i < arr.length; i++) {
    if (Array.isArray(arr[i])) {
      flattenedArr.push(...flat(arr[i]));
    } else {
      flattenedArr.push(arr[i]);
    }
  }
  return flattenedArr;
};

console.log(flat(arr));

数组扁平化处理 JavaScript

推荐阅读:


扫描二维码,在手机上阅读