Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

104
Visualizações
Cambie la lista de matrices a múltiples listas de matrices cada 3 elementos

Quiero filtrar una gran lista de arreglos en múltiples arreglos por cada 5 elementos de cierta manera para que [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] sea [[1, 2, [3, 4, 5]], [6, 7, [8, 9, 10]]] o [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 , 14, 15] sería [[1, 2, [3, 4, 5]], [6, 7, [8, 9, 10]], [11, 12, [13, 14, 15]]] . (Todas las matrices serán un múltiplo de 5 en mi programa).

¿Cómo haría esto?

Ahora mismo estoy haciendo esto

 for (var i = 1; i < (stoneTextureUnfiltered.length+1)/1.01; i++) { stoneTexture.push([stoneTextureUnfiltered[i], stoneTextureUnfiltered[i+1], stoneTextureUnfiltered[i+2], [stoneTextureUnfiltered[i+3], stoneTextureUnfiltered[i+4], stoneTextureUnfiltered[i+5]]]); }

pero parece que no funciona.

Gracias,

-Vóxel

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Suponiendo que ya ha fragmentado la matriz en partes de 5 con estas respuestas y está almacenada en una variable llamada chunks , para envolver los últimos 3 en cada fragmento, puede usar map :

 const final = chunks.map((chunk) => [chunk[0], chunk[1], chunk.slice(2)]);

Agrega el primer y segundo elemento a la nueva lista, luego agrega el resto del fragmento como un todo.

Demostración a continuación:

 // using second answer var perChunk = 5 // items per chunk var inputArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] var chunks = inputArray.reduce((resultArray, item, index) => { const chunkIndex = Math.floor(index/perChunk) if(!resultArray[chunkIndex]) { resultArray[chunkIndex] = [] // start a new chunk } resultArray[chunkIndex].push(item) return resultArray }, []) // answer below const final = chunks.map((chunk) => [chunk[0], chunk[1], chunk.slice(2)]); console.log(final);

Como puedes ver, ¡funciona muy bien!

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda