首页 文章详情

字节面试官问:如何实现多维数组扁平化?

前端人 | 311 2021-04-30 19:33 0 0 0
UniSMS (合一短信)


关注公众号 前端人,回复“加群

添加无广告优质学习群


大家好,我是鬼哥,又是今天的每日一题时间了,今天这道题是字节的一套面试题中的第六题,欢迎关注我们,后续每天会以试卷的形式分享大厂的面试题!

题目大意:原数组[[0],[2,3,4],1,[1,[2,3]]],输出[0,2,3,4,1,1,2,3]

  //判断当前数组是否有子数组
  function hasChildArray(arr{
    return arr.some(element => {
      if (Array.isArray(element)) {
        has = true;
        return true;
      }
    });
  }
  let sourceArr = [[0], [234], 1, [1, [23]]];
  let result = [];
  //递归
  (function doFunc(arr{
    if (hasChildArray(arr)) {
      for (let i = 0, l = arr.length; i < l; i++) {
        if (typeof arr[i] == "number") {
          result.push(arr[i]);
        } else if (Array.isArray(arr[i])) {
          doFunc(arr[i]);
        }
      }
    } else {
      result=result.concat(arr);
    }
  })(sourceArr);
 console.log(result);

效果

参考资料

  • https://cnblogs.com/kaima/p/bytedance_interview.html


当前题目进度:字节面试一卷[06/20]题,大家记得来打卡学习

关注公众号,置顶公众号,鬼哥每天解答一道大厂面试题,一起前端进阶

公众号里回复关键词加群,加入前端进阶群
坚持不易,希望能够帮助到一部分人,多谢帮忙一键三连


点击关注我们↓

套卷所有题目都在这个题库小程序↓

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter