javaScript--二维数组逆向输出

今天一个朋友面试遇到了一个题目,然后看起来很简单,写的时候发现写不好

题目是这样的,给一个二位数组

// Tips 长度都是不固定的
var arr = [
    [1,2,3,4],
    [5,6,7,8,9,10],
    [11,12],
    [13,14,15,16,17,18]
]

输出这种格式:
1,5,11,13,2,6,12,14,3,7,12 ....
然后,每秒输出一个下标。

我一看这么简单,写了之后发现坑不少,然后写了好久才写出来。

不解释,放代码:

 var arr = [
            [1,2,3,4],
            [5,6,7,8,9,10],
            [11,12],
            [13,14,15,16,17,18]
        ]

        // 单列运行
        var arrRuning = false
        // 计数
        var losn = -1
        // 求最长的数组
        var maxLength = 0

        arr.forEach(function(e){
            e.length > maxLength
            ? maxLength = e.length
            : ''
        })

        for(var k = 0; k <= maxLength; k++){
            arr.forEach(function(e,i,a){
                if(!arrRuning){
                    // 二维数组的长度
                    this.length = e.length
                }
                arrRuning = true
                losn++

                ;(function(n,e,k){
                    window.setTimeout(function(){
                            if(e[k]){
                                console.log( e[k] )
                            }
                    },1000*n)
                })(losn,e,k);

            })
        }

--END--

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 9,562评论 2 13
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,892评论 25 709
  • 先说说我自己的故事吧。 小时候,家里条件不是很宽裕,自己又寄养在外婆家,平时是没有零花钱的。偶尔路上捡到一元五毛的...
    欢脱的小马儿阅读 5,110评论 2 1
  • 一些写在前面的废话 首先需要明白,只要是面试数据科学相关的岗位的,那肯定是一个复合岗位。当然在这之下会有一些比较细...
    b485c88ab697阅读 4,400评论 0 2
  • 老刘问过三姐,“你的手这么漂亮,为啥不去弹钢琴?”三姐喜欢年轻人喊她三姨,不过老刘一把年纪了,自然是喊不出口。 三...
    花家小落阅读 3,547评论 13 10