一維數組變有規律二維數組

佈局寫多了,總會踩上幾個坑,面對有奇偶需求的佈局而服務端數據只返回一維數組列表時,flex佈局幫不上忙的時候,有沒有一種抓耳撓腮的感覺呢!

這種狀態下,前端就得發揮一下啦!

來看一下何謂奇偶佈局吧!圖片有點難看,將就着看,能理解就行啦,畢竟是截圖工具畫的~~~

如圖所示,類似這種結構,如果使用flex來佈局,那需要好好想想,對吧!

那就換一種思路,佈局不直接,那就改數據結構唄!

 如圖所示,每一行都是一個數組,循環行就ok啦,這其中的規律即爲奇行爲3,偶爲2,所以呢,把服務端返回的一維數組轉成二維不就搞定了嗎?

那如何傳呢?按大千世界,無奇不有的定律,方法肯定是有很多的啦,在此提供一個相對簡單的方法,代碼如下:

注意的點:此方法是通過會修改原始數組出發來達到效果的,請在使用的時候千萬注意,另外,這個針對簡單數據類型問題不大,如果是引入類型的話呢,就要考慮淺拷貝的後遺症哦

// m奇數行數組顯示個數  n偶數行數組顯示個數 arr 數組
function demo (arr, m, n) {
    var temp = []
    for(var i = 0; i < arr.length -1; i++) {
        var na = arr.splice(0, (m + n))
        var bm = a.slice(0,m)
        var bn = a.slice(m,na.length)
        temp.push(bm) temp.push(bn)
    }
    console.log(temp)
}

再次提醒,一定要注意以上提到的 隱形 bug 哦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章