• 35648

    文章

  • 23

    评论

  • 20

    友链

  • 最近新加了很多技术文章,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

数组扁平化(将多维数组降维成一维数组)

欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/0813/105551.html 1190000020046966

将这个问题进行转化 ===> 将N维数组降到(N-1)维

思路:构造一个目标数组,初始为空。遍历N维数组中的每一项。
如果当前项不是数组而是单个元素,那么将它保存到目标数组中。
如果当前项是数组,对当前数组元素进行降维。
这是一个典型的递归过程。

function flattenArray(list, target) {
  const len = list.length;
  for(let i = 0; i < len; i++) {
    if (list[i] instanceof Array) {
      flattenArray(list[i], target);
    } else {
      target && target.push(list[i]);
    }
  }
}

let target = new Array();
const list = [1, [3, [4, [6, 7]], 5], 2];
flattenArray(list, target);
console.log("list ", target);

结果是:list [ 1, 3, 4, 6, 7, 5, 2 ]

相关文章

暂住......别动,不想说点什么吗?
  • 全部评论(0
    还没有评论,快来抢沙发吧!