Como posso dividir uma matriz em partes, mas fazer com que ela preencha cada matriz, indo uma a uma

Estou usando esta função para criar pedaços de uma matriz:

function chunkArray(myArray, chunk_size) {
    let results = [];
    while (myArray.length) {
        results.push(myArray.splice(0, chunk_size));
    }
    return results;
}

No entanto, se assumirmos que a matriz original é[1, 2, 3, 4, 5, 6] e eu estou dividindo em 3 partes, vou terminar com isso:

[
    [1, 2],
    [3, 4],
    [5, 6]
]

Mas, em vez disso, gostaria que ele se agrupasse nas matrizes pulando entre os três, por exemplo:

[
    [1, 4],
    [2, 5],
    [3, 6]
]

Qual seria a melhor forma de fazer isso?

questionAnswers(3)

yourAnswerToTheQuestion