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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 數組在程序設計中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數據元素的集合稱...
    朱森閱讀 4,007評論 2 13
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,287評論 25 708
  • 先說說我自己的故事吧。 小時候,家里條件不是很寬裕,自己又寄養在外婆家,平時是沒有零花錢的。偶爾路上撿到一元五毛的...
    歡脫的小馬兒閱讀 1,357評論 2 1
  • 一些寫在前面的廢話 首先需要明白,只要是面試數據科學相關的崗位的,那肯定是一個復合崗位。當然在這之下會有一些比較細...
    b485c88ab697閱讀 897評論 0 2
  • 老劉問過三姐,“你的手這么漂亮,為啥不去彈鋼琴?”三姐喜歡年輕人喊她三姨,不過老劉一把年紀了,自然是喊不出口。 三...
    花家小落閱讀 557評論 13 10