Могу только с проверкой на массив помочь))
const reshape3d = (arr) => {
if (!Array.isArray(arr)) {
return
}
return arr.reduce((acc, cur, idx, { length }) => {
const idxO = (idx / ((length / 2) | 0)) | 0
const idxI = (idx % ((length / 2) | 0) / 2) | 0
acc[idxO] = acc[idxO] || []
acc[idxO][idxI] = acc[idxO][idxI] || []
acc[idxO][idxI].push(cur)
return acc
}, [])
}