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

98
Visualizações
cómo insertar una matriz dentro de una matriz con bucle anidado anidado

Con el siguiente código, quiero insertar una matriz dentro de la matriz de weeks si i <= al valor de cada elemento en esa matriz.

 const weeks = []; const daysInWeek = []; numberOfDays = 35; for (let i = 1; i <= numberOfDays; i ++) { if (i % 7 === 0){ weeks.push(i) } // output [7, 14, 21, 28, 35] for (logic here...) { daysInWeek.push([?]) } }

Me gustaría que daysInWeek se viera así:

 [[1, 2, 3, 4, 5, 6, 7], [8, 9, 10, 11, 12, 13, 14], [15,......], ...]

Es la primera vez que trabajo con bucles anidados y realmente no puedo entender la idea y, por lo tanto, no estoy seguro de cómo usar el segundo bucle.

Cualquier ayuda sería muy apreciada.

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

0

Cree una nueva matriz dentro de la instrucción if (i % 7 === 0){ . Esa matriz se creará para cada semana y contendrá sus días.

Ahora comience el segundo bucle restando 6 del valor actual de i . siempre seré una multitud de 7. Así i al restar 6 obtienes el primer día de esa semana. Almacene ese resultado en j .

Luego, para la parte de evaluación del bucle, verifique si j es igual o menor que i , nunca queremos ir más alto que el último día de la semana actual. También verifique si j es igual o menor que numberOfDays . No desea agregar más días de los que indicó.

Agregue cada día a la matriz de días. Luego, después del ciclo, agregue la matriz de días a daysInWeek . Ahora tienes esta estructura de matriz anidada.

 const weeks = []; const daysInWeek = []; numberOfDays = 35; for (let i = 1; i <= numberOfDays; i ++) { if (i % 7 === 0){ weeks.push(i) const days = []; for (let j = i - 6; j <= i && j <= numberOfDays; j++) { days.push(j); } daysInWeek.push(days); } } console.log(daysInWeek);

about 4 years ago · Juan Pablo Isaza Relatório

0

Tu bucle está mal. Por favor, intente esto también.

Dentro de un solo bucle, podemos crear todos los arreglos y agregarlos juntos de esta manera.

 const weeks = []; const daysInWeek = []; numberOfDays = 35; for (let i = 1; i <= numberOfDays; i ++) { const weekid = parseInt(((i-1)/7)); // used i-1 because in the loop i started as 1. if we use i/7 we loose a day record from the first week. Test it. if(!weeks.includes(weekid) ){ weeks.push(weekid); } let tempArray = []; if(daysInWeek[weekid] === undefined){ daysInWeek[weekid] = []; } daysInWeek[weekid].push(i); } console.log(daysInWeek);
about 4 years ago · Juan Pablo Isaza Relatório

0

Math.floor ((i - 1) / 7) te da la clave de la tabla para empujar tus días

 <script type="text/javascript"> const weeks = []; const daysInWeek = [[]]; numberOfDays = 35; for (let i = 1; i <= numberOfDays; i ++) { if (i % 7 === 0){ weeks.push(i) daysInWeek.push([]) } daysInWeek[Math.floor((i - 1) / 7)].push(i) } console.log(daysInWeek); </script>
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