Búsqueda de sitios web

javascript - ¿cómo puedo reescribir un push con un map ejecutando un slice?


Me gustaría saber si es posible cambiar este bucle push por un simple map.

el objetivo es crear fragmentos a partir de un arreglo de objetos basado en el número de columnas y filas de una cuadrícula.

por ejemplo: si tengo dos filas y dos columnas, la matriz de objetos se divide en una matriz (chunks=[]) de la siguiente manera:

 const row = 2;
 const col = 2;
 const pages = [
       {id:'one', name:'page_1', active:false},
       {id:'two', name:'page_2', active:false},
       {id:'three', name:'page_2', active:false},
       {id:'four', name:'page_4', active:false},
       {id:'five', name:'page_5', active:false},
    ]

"Chunks" debería ir de esta manera:

 let chunks = [
   //grid 1 whit max col * row element
   [
       {id:'one', name:'page_1', active:false},
       {id:'two', name:'page_2', active:false},
       {id:'three', name:'page_2', active:false},
       {id:'four', name:'page_4', active:false},
   ],
  //grid 1 whit max col * row element
   [
       {id:'five', name:'page_5', active:false}, 
   ],
 ]

Lo he hecho de esta manera y funciona bien. Pero me pregunto si es posible editar y mejorar todo usando solo un map en lugar de un push.

    const pages = [
       {id:'one', name:'page_1', active:false},
       {id:'two', name:'page_2', active:false},
       {id:'three', name:'page_2', active:false},
       {id:'four', name:'page_4', active:false},
       {id:'five', name:'page_5', active:false},
    ]
    const row = 2;
    const col = 2;
    let rowIndex = 0;
    let chunkIndex = 0;
    let chunks = [];
    while (row !== rowIndex) {
      chunks.push(page.slice(chunkIndex, chunkIndex + col));
      chunkIndex += col;
      rowIndex += 1;
    }