1. 程式人生 > >Js中二維陣列格式轉換問題

Js中二維陣列格式轉換問題

    專案中遇到個問題,就是後端給我一個如下的二維陣列:

即一個17項的陣列,每一項是一個長度為5的陣列,我暫時定義為17*5的陣列,而我需要轉換為5*17的陣列,即5項,每一項是一個長度為17的陣列。我使用的是將陣列遍歷兩次(效能可能會不好,但暫時只會使用這種)。我先假定17*5的陣列為a,目標陣列5*17為b,那我先遍歷迴圈b,構造出每一項都為空陣列的b,再把a使用forEach方法,把a的每一列依次推到b中。程式碼如下:

for (let i = 1; i < this.legendList.length; i++) {
    this.dataList[i] = []
    res.data.forEach(item => {
        this.dataList[i].push(item[i])
    })
}

    需要注意的是一定要先遍歷b,再遍歷a,之前反過來並沒有達到需求。