文章阅读

沉浸阅读完整内容

写文章

数组扁平化处理

正在统计阅读人数 正在统计字数
登录收藏0
字号 100%

有一个多维数组

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));

推荐阅读

4 篇精选
文章 / 129Vue3的生命周期有哪些? 文章 / 127Vue3如何使用vue-router进行跳转 文章 / 130聊一聊 Vue3的那些事情 文章 / 128点击元素让其滚动到锚点定位scrollIntoView方法

发表评论

评论 0

还没有评论,欢迎留下第一条讨论。

分享精彩,传递价值

生成专属海报,分享你的文章,让更多人发现好内容

浏览器不支持 Canvas,无法生成海报。

每日签到

每天来这里,记录一点持续积累。

当前积分--积分
本月签到--
本月获得--积分
正在读取